Changeset 4706 for trunk/Ohana/src/opihi/pantasks
- Timestamp:
- Aug 4, 2005, 7:51:09 AM (21 years ago)
- Location:
- trunk/Ohana/src/opihi/pantasks
- Files:
-
- 1 added
- 7 edited
-
CheckController.c (added)
-
CheckSystem.c (modified) (1 diff)
-
ControllerOps.c (modified) (8 diffs)
-
JobOps.c (modified) (1 diff)
-
Makefile (modified) (1 diff)
-
controller_check.c (modified) (1 diff)
-
controller_host.c (modified) (1 diff)
-
controller_status.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/pantasks/CheckSystem.c
r4693 r4706 3 3 int CheckSystem () { 4 4 5 /* need to make a timeout: if this process lasts too long, 6 we should return so the user can get input in. this cannot 7 just be a return, because we need to hit each of the elements 8 eventually 9 */ 10 5 11 CheckTasks (); 6 12 CheckJobs (); 13 CheckController (); 7 14 CheckControllerOutput (); 8 15 return (TRUE); -
trunk/Ohana/src/opihi/pantasks/ControllerOps.c
r4705 r4706 24 24 GetJobOutput ("stdout", job[0].pid, &job[0].stdout, job[0].stdout_size); 25 25 GetJobOutput ("stderr", job[0].pid, &job[0].stderr, job[0].stderr_size); 26 DeleteControllerJob (job); 26 27 } 27 28 return (TRUE); 28 29 } 29 30 31 int DeleteControllerJob (Job *job) { 32 33 int status; 34 char cmd[128]; 35 IOBuffer buffer; 36 37 sprintf (cmd, "delete %d", job[0].pid); 38 InitIOBuffer (&buffer, 0x100); 39 status = ControllerCommand (cmd, CONTROLLER_PROMPT, &buffer); 40 FreeIOBuffer (&buffer); 41 return (status); 42 } 43 30 44 /* ask controller about job status */ 31 45 int CheckControllerJobStatus (Job *job) { … … 39 53 InitIOBuffer (&buffer, 0x100); 40 54 status = ControllerCommand (cmd, CONTROLLER_PROMPT, &buffer); 41 42 /* check on success of controller command */ 43 switch (status) { 44 case CONTROLLER_DOWN: 45 if (VerboseMode()) fprintf (stderr, "controller is down\n"); 46 FreeIOBuffer (&buffer); 47 return (FALSE); 48 49 case CONTROLLER_HUNG: 50 if (VerboseMode()) fprintf (stderr, "controller is not responding\n"); 51 FreeIOBuffer (&buffer); 52 return (FALSE); 53 54 case CONTROLLER_GOOD: 55 if (VerboseMode()) fprintf (stderr, "message received (CheckControllerJobStatus)\n"); 56 break; 57 58 default: 59 if (VerboseMode()) fprintf (stderr, "unknown status for controller command: programming error\n"); 60 exit (1); 55 if (!status) { 56 FreeIOBuffer (&buffer); 57 return (FALSE); 61 58 } 62 59 … … 137 134 int SubmitControllerJob (Job *job) { 138 135 139 int i, Nchar ;136 int i, Nchar, status; 140 137 char *cmd, *p, string[64]; 141 138 IOBuffer buffer; … … 177 174 178 175 InitIOBuffer (&buffer, 0x100); 179 ControllerCommand (cmd, CONTROLLER_PROMPT, &buffer);176 status = ControllerCommand (cmd, CONTROLLER_PROMPT, &buffer); 180 177 free (cmd); 181 178 … … 317 314 /* send command, is pipe still open? */ 318 315 status = write_fmt (stdin_cntl, "%s\n", cmd); 319 if ((status == -1) && (errno == EPIPE)) return (CONTROLLER_DOWN); 316 if ((status == -1) && (errno == EPIPE)) { 317 ControllerStatus = FALSE; 318 if (VerboseMode()) fprintf (stderr, "controller is down\n"); 319 return (FALSE); 320 } 320 321 321 322 /* watch for response - wait up to 1 second */ … … 329 330 if (status == 0) { 330 331 ControllerStatus = FALSE; 331 return (CONTROLLER_DOWN); 332 } 333 if (status == -1) return (CONTROLLER_HUNG); 332 if (VerboseMode()) fprintf (stderr, "controller is down\n"); 333 return (FALSE); 334 } 335 if (status == -1) { 336 if (VerboseMode()) fprintf (stderr, "controller is not responding\n"); 337 return (FALSE); 338 } 334 339 335 340 /* need to strip off the prompt */ … … 339 344 bzero (buffer[0].buffer + buffer[0].Nbuffer, buffer[0].Nalloc - buffer[0].Nbuffer); 340 345 } 341 return (CONTROLLER_GOOD); 346 if (VerboseMode()) fprintf (stderr, "message received\n"); 347 return (TRUE); 342 348 } 343 349 … … 396 402 InitIOBuffer (&buffer, 0x100); 397 403 status = ControllerCommand (cmd, CONTROLLER_PROMPT, &buffer); 404 FreeIOBuffer (&buffer); 405 return (status); 398 406 399 407 /** need to interpret output message & free things **/ 400 FreeIOBuffer (&buffer);401 return (TRUE);402 408 } 403 409 -
trunk/Ohana/src/opihi/pantasks/JobOps.c
r4705 r4706 172 172 CheckLocalJob (job); 173 173 } else { 174 CheckControllerJob (job); 174 /* controller jobs are now checked en masse by CheckController */ 175 /* CheckControllerJob (job); */ 175 176 } 176 177 return (job[0].state); -
trunk/Ohana/src/opihi/pantasks/Makefile
r4705 r4706 30 30 $(SDIR)/CheckJobs.$(ARCH).o \ 31 31 $(SDIR)/CheckSystem.$(ARCH).o \ 32 $(SDIR)/CheckController.$(ARCH).o \ 32 33 $(SDIR)/CheckTasks.$(ARCH).o \ 33 34 $(SDIR)/CheckTimeRanges.$(ARCH).o \ -
trunk/Ohana/src/opihi/pantasks/controller_check.c
r4705 r4706 27 27 } 28 28 FreeIOBuffer (&buffer); 29 30 /* check on success of controller command */ 31 switch (status) { 32 case CONTROLLER_DOWN: 33 fprintf (stderr, "controller is down\n"); 34 return (FALSE); 35 36 case CONTROLLER_HUNG: 37 fprintf (stderr, "controller is not responding\n"); 38 return (FALSE); 39 40 case CONTROLLER_GOOD: 41 return (TRUE); 42 43 default: 44 fprintf (stderr, "unknown status for controller command: programming error\n"); 45 exit (1); 46 } 47 48 fprintf (stderr, "programming error: should not reach here\n"); 49 exit (1); 29 return (TRUE); 50 30 51 31 usage: -
trunk/Ohana/src/opihi/pantasks/controller_host.c
r4705 r4706 18 18 InitIOBuffer (&buffer, 0x100); 19 19 status = ControllerCommand (command, CONTROLLER_PROMPT, &buffer); 20 fwrite (buffer.buffer, 1, buffer.Nbuffer, stderr);20 if (status) fwrite (buffer.buffer, 1, buffer.Nbuffer, stderr); 21 21 FreeIOBuffer (&buffer); 22 22 23 /* check on success of controller command */24 switch (status) {25 case CONTROLLER_DOWN:26 fprintf (stderr, "controller is down\n");27 return (FALSE);28 29 case CONTROLLER_HUNG:30 fprintf (stderr, "controller is not responding\n");31 return (FALSE);32 33 case CONTROLLER_GOOD:34 return (TRUE);35 36 default:37 fprintf (stderr, "unknown status for controller command: programming error\n");38 exit (1);39 }40 41 fprintf (stderr, "programming error: should not reach here\n");42 exit (1);43 23 } -
trunk/Ohana/src/opihi/pantasks/controller_status.c
r4705 r4706 22 22 InitIOBuffer (&buffer, 0x100); 23 23 status = ControllerCommand (command, CONTROLLER_PROMPT, &buffer); 24 if (status) fwrite (buffer.buffer, 1, buffer.Nbuffer, stderr); 25 FreeIOBuffer (&buffer); 26 return (TRUE); 24 27 25 /* check on success of controller command */26 switch (status) {27 case CONTROLLER_DOWN:28 fprintf (stderr, "controller is down\n");29 FreeIOBuffer (&buffer);30 return (FALSE);31 32 case CONTROLLER_HUNG:33 fprintf (stderr, "controller is not responding\n");34 FreeIOBuffer (&buffer);35 return (FALSE);36 37 case CONTROLLER_GOOD:38 fwrite (buffer.buffer, 1, buffer.Nbuffer, stderr);39 FreeIOBuffer (&buffer);40 return (TRUE);41 42 default:43 fprintf (stderr, "unknown status for controller command: programming error\n");44 exit (1);45 }46 47 fprintf (stderr, "programming error: should not reach here\n");48 exit (1);49 28 }
Note:
See TracChangeset
for help on using the changeset viewer.
