Changeset 4767
- Timestamp:
- Aug 15, 2005, 2:02:47 PM (21 years ago)
- Location:
- trunk/Ohana/src/opihi
- Files:
-
- 2 added
- 7 edited
-
Makefile.Common (modified) (1 diff)
-
pantasks/CheckController.c (modified) (4 diffs)
-
pantasks/CheckSystem.c (modified) (2 diffs)
-
pantasks/ControllerOps.c (modified) (1 diff)
-
pcontrol/Makefile (modified) (1 diff)
-
pcontrol/init.c (modified) (2 diffs)
-
pcontrol/run.c (added)
-
pcontrol/stop.c (added)
-
scripts/psched.pro (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/Makefile.Common
r4747 r4767 55 55 56 56 dist: clean 57 rm - f $(BIN)/*58 rm - f $(LIB)/*57 rm -rf $(BIN)/* 58 rm -rf $(LIB)/* 59 59 60 60 clean-help: -
trunk/Ohana/src/opihi/pantasks/CheckController.c
r4763 r4767 1 1 # include "psched.h" 2 3 static struct timeval start; 4 void TimerMark (); 5 float TimerElapsed (int reset); 2 6 3 7 int CheckController () { 4 8 5 float dtime;6 struct timeval start, stop;7 9 char *p, *q; 8 10 int i, Njobs, status, JobID; 9 11 Job *job; 10 12 IOBuffer buffer; 11 12 gettimeofday (&start, (void *) NULL);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()) fprintf (stderr, "stop controller %f\n", TimerElapsed(TRUE)); 22 23 TimerMark (); 24 FlushIOBuffer (&buffer); 19 25 status = ControllerCommand ("jobstack exit", CONTROLLER_PROMPT, &buffer); 20 if (!status) { 21 FreeIOBuffer (&buffer); 22 return (FALSE); 23 } 26 if (VerboseMode()) fprintf (stderr, "check exit stack %f\n", TimerElapsed(TRUE)); 27 if (!status) goto escape; 24 28 29 /** programming error **/ 25 30 p = memstr (buffer.buffer, "USAGE: jobstack", buffer.Nbuffer); 26 if (p != NULL) { 27 FreeIOBuffer (&buffer); 28 return (FALSE); 29 } 31 if (p != NULL) goto escape; 30 32 31 33 /** parse job list **/ 32 34 status = sscanf (buffer.buffer, "%*s %d", &Njobs); 33 if (status != 1) { 34 FreeIOBuffer (&buffer); 35 return (FALSE); 36 } 37 38 gettimeofday (&stop, (void *) NULL); 39 dtime = DTIME (stop, start); 40 if (VerboseMode()) fprintf (stderr, "check exit stack %f\n", dtime); 41 /* if (Njobs) fprintf (stderr, "check exit stack %f\n", dtime); */ 42 gettimeofday (&start, (void *) NULL); 35 if (status != 1) goto escape; 36 if (VerboseMode()) fprintf (stderr, "parse %d jobs on stack %f\n", Njobs, TimerElapsed(TRUE)); 43 37 44 38 p = buffer.buffer; … … 60 54 CheckControllerJob (job); 61 55 } 62 gettimeofday (&stop, (void *) NULL); 63 dtime = DTIME (stop, start); 64 /* if (VerboseMode()) fprintf (stderr, "clear %d exit jobs %f\n", i, dtime); */ 65 gettimeofday (&start, (void *) NULL); 56 if (VerboseMode()) fprintf (stderr, "clear %d exit jobs %f\n", i, TimerElapsed(TRUE)); 66 57 67 if (TestElapsedCheck()) return (TRUE); 58 if (TestElapsedCheck()) goto finish; 59 /* this will prevent us from ever checking crashed jobs... */ 68 60 69 61 /*** check CRASH jobs ***/ 70 62 FlushIOBuffer (&buffer); 71 63 status = ControllerCommand ("jobstack crash", CONTROLLER_PROMPT, &buffer); 72 if (!status) { 73 FreeIOBuffer (&buffer); 74 return (FALSE); 75 } 64 if (!status) goto escape; 65 76 66 p = memstr (buffer.buffer, "USAGE: jobstack", buffer.Nbuffer); 77 if (p != NULL) { 78 FreeIOBuffer (&buffer); 79 return (FALSE); 80 } 67 if (p != NULL) goto escape; 81 68 82 69 /** parse job list **/ 83 70 status = sscanf (buffer.buffer, "%*s %d", &Njobs); 84 if (status != 1) { 85 FreeIOBuffer (&buffer); 86 return (FALSE); 87 } 88 89 gettimeofday (&stop, (void *) NULL); 90 dtime = DTIME (stop, start); 91 /* if (VerboseMode()) fprintf (stderr, "check crash stack %f\n", dtime); */ 92 gettimeofday (&start, (void *) NULL); 71 if (status != 1) goto escape; 72 if (VerboseMode()) fprintf (stderr, "check crash stack %f\n", TimerElapsed(TRUE)); 93 73 94 74 p = buffer.buffer; … … 110 90 CheckControllerJob (job); 111 91 } 92 if (VerboseMode()) fprintf (stderr, "clear %d crash jobs %f\n", i, TimerElapsed(TRUE)); 93 94 finish: 95 FlushIOBuffer (&buffer); 96 // status = ControllerCommand ("run", CONTROLLER_PROMPT, &buffer); 112 97 FreeIOBuffer (&buffer); 98 return (TRUE); 99 100 escape: 101 FlushIOBuffer (&buffer); 102 // status = ControllerCommand ("run", CONTROLLER_PROMPT, &buffer); 103 FreeIOBuffer (&buffer); 104 return (FALSE); 105 } 106 107 void TimerMark () { 108 gettimeofday (&start, (void *) NULL); 109 } 110 111 float TimerElapsed (int reset) { 112 113 float dtime; 114 struct timeval stop; 113 115 114 116 gettimeofday (&stop, (void *) NULL); 115 117 dtime = DTIME (stop, start); 116 /* if (VerboseMode()) fprintf (stderr, "clear %d crash jobs %f\n", i, dtime); */117 return ( TRUE);118 if (reset) gettimeofday (&start, (void *) NULL); 119 return (dtime); 118 120 } 119 120 -
trunk/Ohana/src/opihi/pantasks/CheckSystem.c
r4763 r4767 2 2 3 3 # define MAX_DELAY 0.1 4 struct timeval start ;4 struct timeval start, last; 5 5 static int Ncheck = 0; 6 6 7 7 int CheckSystem () { 8 8 9 float dtime; 10 struct timeval now; 11 9 12 gettimeofday (&start, (void *) NULL); 10 13 11 if (Ncheck < 20) {14 if (Ncheck < 100) { 12 15 CheckTasks (); 13 16 CheckJobs (); … … 18 21 Ncheck = 0; 19 22 } 23 /* ohana_memcheck (FALSE); */ 20 24 return (TRUE); 21 25 } -
trunk/Ohana/src/opihi/pantasks/ControllerOps.c
r4763 r4767 359 359 } 360 360 if (status == -1) { 361 StopController ();362 361 if (VerboseMode()) fprintf (stderr, "controller is not responding\n"); 363 362 return (FALSE); -
trunk/Ohana/src/opihi/pcontrol/Makefile
r4748 r4767 53 53 $(SDIR)/kill.$(ARCH).o \ 54 54 $(SDIR)/pulse.$(ARCH).o \ 55 $(SDIR)/stop.$(ARCH).o \ 56 $(SDIR)/run.$(ARCH).o \ 55 57 $(SDIR)/status.$(ARCH).o \ 56 58 $(SDIR)/stdout.$(ARCH).o \ -
trunk/Ohana/src/opihi/pcontrol/init.c
r4748 r4767 9 9 int pulse PROTO((int, char **)); 10 10 int status PROTO((int, char **)); 11 int run PROTO((int, char **)); 12 int stop PROTO((int, char **)); 11 13 int stderr_pc PROTO((int, char **)); 12 14 int stdout_pc PROTO((int, char **)); … … 23 25 {"pulse", pulse, "set system pulse"}, 24 26 {"status", status, "get system status"}, 27 {"stop", stop, "stop controller processing"}, 28 {"run", run, "start controller processing"}, 25 29 {"stderr", stderr_pc, "get stderr buffer for job"}, 26 30 {"stdout", stdout_pc, "get stdout buffer for job"}, -
trunk/Ohana/src/opihi/scripts/psched.pro
r4763 r4767 26 26 # correction: still valid for local tasks 27 27 periods -poll 0.20 28 periods -exec 0.00 128 periods -exec 0.0001 29 29 periods -timeout 10.0 30 30 nmax 1024 31 # nmax 100 31 32 host anyhost 32 33
Note:
See TracChangeset
for help on using the changeset viewer.
