| Rev |
Log message |
Author |
Age |
Path |
| 2675 |
Remove experimental branch. Changes are being integrated piecemeal into
Hierarchical WQ. |
pdonnel3 |
70d 23h |
/branches/ |
| 2674 |
Removing merged branch. |
pdonnel3 |
70d 23h |
/branches/ |
| 2672 |
svn merge trunk@2659" target="_blank">file:///afs/nd.edu/user37/ccl/svn/cctools/trunk@2659 trunk@HEAD" target="_blank">file:///afs/nd.edu/user37/ccl/svn/cctools/trunk@HEAD . |
pdonnel3 |
71d 00h |
/branches/ |
| 2666 |
$ svn merge trunk@2659" target="_blank">file:///afs/nd.edu/user37/ccl/svn/cctools/trunk@2659 trunk@HEAD" target="_blank">file:///afs/nd.edu/user37/ccl/svn/cctools/trunk@HEAD . |
pdonnel3 |
71d 17h |
/branches/ |
| 2665 |
Correct some compiler warnings. |
pdonnel3 |
71d 17h |
/branches/ |
| 2664 |
fixing some warnings |
bkokoszk |
72d 04h |
/branches/ |
| 2663 |
removing references to searchent.h functions |
bkokoszk |
72d 04h |
/branches/ |
| 2659 |
svn merge trunk@2327" target="_blank">file:///afs/nd.edu/user37/ccl/svn/cctools/trunk@2327 trunk@HEAD" target="_blank">file:///afs/nd.edu/user37/ccl/svn/cctools/trunk@HEAD . |
pdonnel3 |
74d 18h |
/branches/ |
| 2628 |
Changes already in trunk. |
btovar |
84d 06h |
/branches/ |
| 2604 |
command line flag for artificial RPC latency |
bkokoszk |
90d 05h |
/branches/ |
| 2591 |
cleaning up parrot search |
bkokoszk |
94d 21h |
/branches/ |
| 2577 |
Comments to struct dag.
Update branch to trunk 2576. |
btovar |
98d 23h |
/branches/ |
| 2567 |
This patch does:
o Removes pipe + output file for work_queue_worker. Instead we use a
regular file and let the worker write to that. This alleviates the need to
poll on output files to flush the pipe if the worker is writing a lot of
stdout.
o It corrects a race condition in checking a task status and sleeping on
the server link. The way to do this is block receipt of SIGCHLD and only
allow delivery right before/during a poll on the master link. There is a
race condition described in "Advanced Programming in the UNIX Environment"
section 10.16 (sigsuspend) where a it's not possible to block receipt of
a signal until the system call starts (except for sigsuspend). This is
makes handling select difficult. [Ironically enough, this has come up
recently in commit r2561.] I have formed a workaround solution which
uses signal long jmps to allow us to catch the signal if it occurs
before the select system call is called:
pselect:
int result;
env <- setjmp
if (signal handler jmps here) {
result = -1;
errno = EINTR;
goto cleanup;
}
set custom SIGCHLD handler which longjmps, save old one
UNBLOCK SIGCHLD
result = select(...)
cleanup:
BLOCK SIGCHLD
restore old SIGCHLD handler
queue SIGCHLD signal (so old SIGCHLD handler can catch it)
UNBLOCK SIGCHLD
/* old SIGCHLD handler will immediately run */
return result;
So, basically if SIGCHLD is received between unblocking SIGCHLD and select, or
inside select, the signal handler longjmps, sets errno to EINTR, and returns.
Before I wrote this, I didn't know pselect() existed. A future change could use
that instead of this complicated signal hackery. |
pdonnel3 |
101d 19h |
/branches/ |
| 2562 |
Branch for WQ Worker Output Optimizations. |
pdonnel3 |
102d 21h |
/branches/ |
| 2550 |
Update to trunk r2549. |
btovar |
104d 03h |
/branches/ |
| 2523 |
Merge to trunk 2522 |
btovar |
105d 21h |
/branches/ |
| 2508 |
Started separating the parser from the dag logic. All functions
dag_parse_* now have as first argument a dag_parse structure that
does the bookeeping (current dag, open file, linenum, etc.).
Parse related fields were removed from struct dag.
dag_readline is now dag_parse_readline
(Also, commit includes merge from trunk r2507) |
btovar |
109d 04h |
/branches/ |
| 2503 |
Merged trunk r2502 |
btovar |
110d 20h |
/branches/ |
| 2502 |
Makeflow comments. |
btovar |
110d 21h |
/branches/ |
| 2500 |
Continue compiling with --pedantic-errors. |
btovar |
110d 22h |
/branches/ |