Changeset 4714 for trunk/Ohana/src/opihi/pantasks/CheckController.c
- Timestamp:
- Aug 5, 2005, 9:53:49 AM (21 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/pantasks/CheckController.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/pantasks/CheckController.c
r4706 r4714 7 7 Job *job; 8 8 IOBuffer buffer; 9 10 9 11 10 /* get the list of completed jobs (exit / crash), update the job status */ 12 13 11 if (!CheckControllerStatus()) return (TRUE); 14 12 … … 21 19 } 22 20 21 p = memstr (buffer.buffer, "USAGE: jobstack", buffer.Nbuffer); 22 if (p != NULL) { 23 FreeIOBuffer (&buffer); 24 return (FALSE); 25 } 26 23 27 /** parse job list **/ 24 sscanf (buffer.buffer, "%*s %s", &Njobs); 28 status = sscanf (buffer.buffer, "%*s %d", &Njobs); 29 if (status != 1) { 30 FreeIOBuffer (&buffer); 31 return (FALSE); 32 } 33 25 34 p = buffer.buffer; 26 27 35 for (i = 0; i < Njobs; i++) { 28 36 q = strchr (p, '\n'); 29 37 if (q == NULL) { 30 38 fprintf (stderr, "controller message error: incomplete job list\n"); 31 FreeIOBuffer (&buffer);32 39 break; 33 40 } 34 p = q++; 35 sscanf (p, "%d", &JobID); 36 job = FindJob (JobID); 41 p = q + 1; 42 status = sscanf (p, "%d", &JobID); 43 44 job = FindControllerJob (JobID); 37 45 if (job == NULL) { 38 fprintf (stderr, "misplaced job? %d not in job list\n");46 fprintf (stderr, "misplaced job? %d not in EXIT job list\n", JobID); 39 47 continue; 40 48 } … … 42 50 CheckControllerJob (job); 43 51 } 44 52 45 53 /*** check CRASH jobs ***/ 46 InitIOBuffer (&buffer, 0x100);54 FlushIOBuffer (&buffer); 47 55 status = ControllerCommand ("jobstack crash", CONTROLLER_PROMPT, &buffer); 48 56 if (!status) { … … 50 58 return (FALSE); 51 59 } 60 p = memstr (buffer.buffer, "USAGE: jobstack", buffer.Nbuffer); 61 if (p != NULL) { 62 FreeIOBuffer (&buffer); 63 return (FALSE); 64 } 52 65 53 66 /** parse job list **/ 54 sscanf (buffer.buffer, "%*s %s", &Njobs); 67 status = sscanf (buffer.buffer, "%*s %d", &Njobs); 68 if (status != 1) { 69 FreeIOBuffer (&buffer); 70 return (FALSE); 71 } 72 55 73 p = buffer.buffer; 56 57 74 for (i = 0; i < Njobs; i++) { 58 75 q = strchr (p, '\n'); 59 76 if (q == NULL) { 60 77 fprintf (stderr, "controller message error: incomplete job list\n"); 61 FreeIOBuffer (&buffer);62 78 break; 63 79 } 64 p = q++; 65 sscanf (p, "%d", &JobID); 66 job = FindJob (JobID); 80 p = q + 1; 81 82 status = sscanf (p, "%d", &JobID); 83 job = FindControllerJob (JobID); 67 84 if (job == NULL) { 68 fprintf (stderr, "misplaced job? %d not in job list\n");85 fprintf (stderr, "misplaced job? %d not in CRASH job list\n", JobID); 69 86 continue; 70 87 } … … 72 89 CheckControllerJob (job); 73 90 } 91 FreeIOBuffer (&buffer); 74 92 return (TRUE); 75 93 }
Note:
See TracChangeset
for help on using the changeset viewer.
