Changeset 4706 for trunk/Ohana/src/opihi/pantasks/ControllerOps.c
- Timestamp:
- Aug 4, 2005, 7:51:09 AM (21 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/pantasks/ControllerOps.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
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
Note:
See TracChangeset
for help on using the changeset viewer.
