Changeset 18098 for trunk/Ohana/src/opihi/pcontrol/JobOps.c
- Timestamp:
- Jun 12, 2008, 12:52:06 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/pcontrol/JobOps.c (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/pcontrol/JobOps.c
r18085 r18098 1 1 # include "pcontrol.h" 2 2 3 // Stack *JobPool_AllJobs; 3 Stack *JobPool_AllJobs; // virtual pool for user status queries 4 4 5 5 Stack *JobPool_Pending; … … 12 12 13 13 void InitJobStacks () { 14 //JobPool_AllJobs = InitStack ();14 JobPool_AllJobs = InitStack (); 15 15 16 16 JobPool_Pending = InitStack (); … … 32 32 33 33 void FreeJobStacks () { 34 35 // AllJobs is a virtual stack : all jobs are references36 // FreeStack (JobPool_AllJobs);37 38 34 FreeJobStack (JobPool_Pending); 39 35 FreeJobStack (JobPool_Busy ); … … 43 39 FreeJobStack (JobPool_Exit ); 44 40 FreeJobStack (JobPool_Crash ); 41 42 // AllJobs is a virtual stack : all jobs are references 43 FreeStack (JobPool_AllJobs); 45 44 } 46 45 47 46 char *GetJobStackName (int StackID) { 48 47 switch (StackID) { 49 //case PCONTROL_JOB_ALLJOBS: return ("ALLJOBS");48 case PCONTROL_JOB_ALLJOBS: return ("ALLJOBS"); 50 49 51 50 case PCONTROL_JOB_PENDING: return ("PENDING"); … … 64 63 Stack *GetJobStack (int StackID) { 65 64 switch (StackID) { 66 //case PCONTROL_JOB_ALLJOBS: return (JobPool_AllJobs);65 case PCONTROL_JOB_ALLJOBS: return (JobPool_AllJobs); 67 66 68 67 case PCONTROL_JOB_PENDING: return (JobPool_Pending); … … 81 80 Stack *GetJobStackByName (char *name) { 82 81 83 //if (!strcasecmp (name, "all")) return (JobPool_AllJobs);82 if (!strcasecmp (name, "all")) return (JobPool_AllJobs); 84 83 85 84 if (!strcasecmp (name, "pending")) return (JobPool_Pending); … … 186 185 job[0].argv = argv; 187 186 job[0].hostname = hostname; 187 job[0].realhost = NULL; 188 189 job[0].exit_status = 0; 190 job[0].Reset = FALSE; 191 job[0].stdout_size = 0; 192 job[0].stderr_size = 0; 193 188 194 job[0].mode = mode; 189 job[0].host = NULL; 190 job[0].JobID = NextJobID(); 191 job[0].Reset = FALSE; 192 job[0].realhost = NULL; 195 196 job[0].state = 0; 197 job[0].stack = 0; 193 198 194 199 /* do this step on start? */ … … 196 201 InitIOBuffer (&job[0].stderr_buff, 0x1000); 197 202 203 job[0].dtime = 0.0; 204 job[0].pid = 0; 205 206 job[0].JobID = NextJobID(); 207 job[0].host = NULL; 208 198 209 JobID = job[0].JobID; 199 210 211 // Put a copy of all created jobs on the ALLJOBS stack 212 // This is a virtual stack: do not free the job from this stack 213 PutJob (job, PCONTROL_JOB_ALLJOBS, STACK_BOTTOM); 200 214 PutJob (job, PCONTROL_JOB_PENDING, STACK_BOTTOM); 201 // PutJob (job, PCONTROL_JOB_ALLJOBS, STACK_BOTTOM);202 215 203 216 if (VerboseMode()) gprint (GP_ERR, "added new job\n"); … … 208 221 209 222 int i; 223 224 Job *copy; 225 226 copy = PullStackByID (JobPool_AllJobs, job[0].JobID); 227 ASSERT (copy == job, "programming error: ALLJOBS entry does not match"); 210 228 211 229 FREE (job[0].hostname);
Note:
See TracChangeset
for help on using the changeset viewer.
