Changeset 23530 for trunk/Ohana/src/opihi/pantasks/CheckController.c
- Timestamp:
- Mar 25, 2009, 11:56:09 AM (17 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/pantasks/CheckController.c (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/pantasks/CheckController.c
r14590 r23530 1 1 # include "pantasks.h" 2 2 3 static struct timeval start; 4 void TimerMark (); 5 float TimerElapsed (int reset); 3 void TimerMark (struct timeval *start); 4 float TimerElapsed (struct timeval *start, int reset); 6 5 7 6 int CheckController () { … … 11 10 Job *job; 12 11 IOBuffer buffer; 12 struct timeval start; 13 13 14 14 /* get the list of completed jobs (exit / crash), update the job status */ … … 17 17 /*** check EXIT jobs ***/ 18 18 InitIOBuffer (&buffer, 0x100); 19 // TimerMark ();20 // status = ControllerCommand ("stop", CONTROLLER_PROMPT, &buffer);21 // if (VerboseMode()) gprint (GP_ERR, "stop controller %f\n", TimerElapsed(TRUE));22 19 23 TimerMark ( );20 TimerMark (&start); 24 21 FlushIOBuffer (&buffer); 22 25 23 status = ControllerCommand ("jobstack exit", CONTROLLER_PROMPT, &buffer); 26 if (VerboseMode()) gprint (GP_ERR, "check exit stack %f\n", TimerElapsed( TRUE));24 if (VerboseMode()) gprint (GP_ERR, "check exit stack %f\n", TimerElapsed(&start, TRUE)); 27 25 if (!status) goto escape; 28 26 … … 34 32 status = sscanf (buffer.buffer, "%*s %d", &Njobs); 35 33 if (status != 1) goto escape; 36 if (VerboseMode()) gprint (GP_ERR, "parse %d jobs on stack %f\n", Njobs, TimerElapsed( TRUE));34 if (VerboseMode()) gprint (GP_ERR, "parse %d jobs on stack %f\n", Njobs, TimerElapsed(&start, TRUE)); 37 35 38 36 p = buffer.buffer; … … 46 44 status = sscanf (p, "%d", &JobID); 47 45 46 // the operations within this locked block only interact with the controller or 47 // modify the properties of the selected job 48 JobTaskLock(); 48 49 job = FindControllerJob (JobID); 49 50 if (job == NULL) { 50 51 gprint (GP_ERR, "misplaced job? %d not in EXIT job list\n", JobID); 52 JobTaskUnlock(); 51 53 continue; 52 54 } 53 55 /* this checks the individual job status, grabs stdout/stderr */ 54 56 CheckControllerJob (job); 57 JobTaskUnlock(); 55 58 } 56 if (VerboseMode()) gprint (GP_ERR, "clear %d exit jobs %f\n", i, TimerElapsed( TRUE));59 if (VerboseMode()) gprint (GP_ERR, "clear %d exit jobs %f\n", i, TimerElapsed(&start, TRUE)); 57 60 58 61 /*** check CRASH jobs ***/ … … 67 70 status = sscanf (buffer.buffer, "%*s %d", &Njobs); 68 71 if (status != 1) goto escape; 69 if (VerboseMode()) gprint (GP_ERR, "check crash stack %f\n", TimerElapsed( TRUE));72 if (VerboseMode()) gprint (GP_ERR, "check crash stack %f\n", TimerElapsed(&start, TRUE)); 70 73 71 74 p = buffer.buffer; … … 77 80 } 78 81 p = q + 1; 79 80 82 status = sscanf (p, "%d", &JobID); 83 84 // the operations within this locked block only interact with the controller or 85 // modify the properties of the selected job 86 JobTaskLock(); 81 87 job = FindControllerJob (JobID); 82 88 if (job == NULL) { 83 89 gprint (GP_ERR, "misplaced job? %d not in CRASH job list\n", JobID); 90 JobTaskUnlock(); 84 91 continue; 85 92 } 86 93 /* this checks the individual job status, grabs stdout/stderr */ 87 94 CheckControllerJob (job); 95 JobTaskUnlock(); 88 96 } 89 if (VerboseMode()) gprint (GP_ERR, "clear %d crash jobs %f\n", i, TimerElapsed( TRUE));97 if (VerboseMode()) gprint (GP_ERR, "clear %d crash jobs %f\n", i, TimerElapsed(&start, TRUE)); 90 98 91 99 FlushIOBuffer (&buffer); 92 // status = ControllerCommand ("run", CONTROLLER_PROMPT, &buffer);93 100 FreeIOBuffer (&buffer); 94 101 return (TRUE); … … 96 103 escape: 97 104 FlushIOBuffer (&buffer); 98 // status = ControllerCommand ("run", CONTROLLER_PROMPT, &buffer);99 105 FreeIOBuffer (&buffer); 100 106 return (FALSE); 101 107 } 102 108 103 void TimerMark ( ) {104 gettimeofday ( &start, (void *) NULL);109 void TimerMark (struct timeval *start) { 110 gettimeofday (start, (void *) NULL); 105 111 } 106 112 107 float TimerElapsed ( int reset) {113 float TimerElapsed (struct timeval *start, int reset) { 108 114 109 115 float dtime; … … 111 117 112 118 gettimeofday (&stop, (void *) NULL); 113 dtime = DTIME (stop, start );114 if (reset) gettimeofday ( &start, (void *) NULL);119 dtime = DTIME (stop, start[0]); 120 if (reset) gettimeofday (start, (void *) NULL); 115 121 return (dtime); 116 122 }
Note:
See TracChangeset
for help on using the changeset viewer.
