Changeset 4450 for trunk/Ohana/src/opihi/include/scheduler.h
- Timestamp:
- Jul 4, 2005, 5:35:47 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/include/scheduler.h (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/include/scheduler.h
r3143 r4450 1 # include "external.h" 2 # include "shell.h" 3 # include "dvomath.h" 4 # include "convert.h" 5 # include "display.h" 6 # include <sys/types.h> 7 # include <sys/wait.h> 1 8 2 enum {JOB_BUSY, JOB_EXIT, JOB_CRASH}; 9 typedef enum { 10 JOB_NONE, 11 JOB_BUSY, 12 JOB_EXIT, 13 JOB_CRASH, 14 JOB_PENDING, 15 } JobStat; 16 17 typedef enum { 18 JOB_LOCAL, 19 JOB_CONTROLLER, 20 } JobMode; 21 22 typedef enum { 23 CONTROLLER_HUNG = -1, 24 CONTROLLER_DOWN = 0, 25 CONTROLLER_GOOD = 1, 26 } ControllerStat; 27 28 /* socket / pipe communication buffer */ 29 typedef struct { 30 char *buffer; 31 int Nalloc; 32 int Nreset; 33 int Nblock; 34 int Nbuffer; 35 } IOBuffer; 3 36 4 37 /* a task is a description of the wrapping of a job */ … … 16 49 char **argv; 17 50 char *host; 51 int host_required; 18 52 19 53 char *name; … … 28 62 typedef struct { 29 63 int JobID; /* internal ID for job */ 30 int PID; /* external ID for job */ 31 32 Task task; 64 int pid; /* external ID for job */ 33 65 34 66 struct timeval last; … … 36 68 int state; 37 69 int exit_status; 70 71 int argc; 72 char **argv; 73 Task *task; 74 75 IOBuffer stdout; /* stdout storage buffer */ 76 IOBuffer stderr; /* stderr storage buffer */ 77 JobMode mode; /* local or controller? */ 78 79 int stdout_size; /* stdout pipe (local only) */ 80 int stderr_size; /* stderr pipe (local only) */ 81 int stdout_fd; /* stdout pipe (local only) */ 82 int stderr_fd; /* stderr pipe (local only) */ 38 83 } Job; 39 84 85 # define CONTROLLER_PROMPT "pclient:" 40 86 41 87 /* scheduler prototypes */ … … 50 96 int TaskHash (char *input); 51 97 int ShowTask (char *name); 98 char *memstr (char *m1, char *m2, int n); 52 99 53 100 Job *NextJob (); … … 65 112 void SetTaskTimer (struct timeval *timer); 66 113 double GetTaskTimer (struct timeval start); 114 115 int CheckJobs (); 116 int CheckTasks (); 117 int CheckSystem (); 118 int GetJobOutput (char *channel, int pid, IOBuffer *buffer, int Nbytes); 119 int CheckControllerJob (Job *job); 120 int CheckControllerJobStatus (Job *job); 121 int SubmitControllerJob (Job *job); 122 int StartController (); 123 int ControllerCommand (char *command, char *response, IOBuffer *buffer); 124 int SubmitLocalJob (Job *job); 125 int CheckLocalJob (Job *job); 126 int CheckLocalJobStatus (Job *job); 127 void InitTaskTimers ();
Note:
See TracChangeset
for help on using the changeset viewer.
