Extra flags RS_SIGNALED and RS_EXECFAILED. Pipe for detecting exec failures.
This commit is contained in:
parent
b4a88a3705
commit
e68a2b4d6a
1 changed files with 9 additions and 0 deletions
|
@ -62,6 +62,13 @@ extern struct rproc {
|
|||
/* Mapping for fast access to the system process table. */
|
||||
extern struct rproc *rproc_ptr[NR_PROCS];
|
||||
|
||||
/* Pipe for detection of exec failures. The pipe is close-on-exec, and
|
||||
* no data will be written to the pipe if the exec succeeds. After an
|
||||
* exec failure, the slot number is written to the pipe. After each exit,
|
||||
* a non-blocking read retrieves the slot number from the pipe.
|
||||
*/
|
||||
int exec_pipe[2];
|
||||
|
||||
/* Flag values. */
|
||||
#define RS_IN_USE 0x001 /* set when process slot is in use */
|
||||
#define RS_EXITING 0x004 /* set when exit is expected */
|
||||
|
@ -70,6 +77,8 @@ extern struct rproc *rproc_ptr[NR_PROCS];
|
|||
#define RS_KILLED 0x020 /* driver is killed */
|
||||
#define RS_CRASHED 0x040 /* driver crashed */
|
||||
#define RS_LATEREPLY 0x080 /* no reply sent to RS_DOWN caller yet */
|
||||
#define RS_SIGNALED 0x100 /* driver crashed */
|
||||
#define RS_EXECFAILED 0x200 /* exec failed */
|
||||
|
||||
/* Constants determining RS period and binary exponential backoff. */
|
||||
#define RS_DELTA_T 60 /* check every T ticks */
|
||||
|
|
Loading…
Reference in a new issue