IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Apr 23, 2008, 1:17:40 PM (18 years ago)
Author:
eugene
Message:

fixed up the pcontrol / pclient interactions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/pcontrol/CheckSystem.c

    r17475 r17476  
    264264  struct timeval start, stop;
    265265  int i, Nobject;
    266   Stack *stack;
    267   Host  *host;
    268   float dtime;
    269 
    270   /* Loop through objects on the stack, no more than once. see note above */
    271   stack = GetHostStack (PCONTROL_HOST_RESP);
    272   Nobject = stack[0].Nobject;
    273 
    274   /* always allow at least one test */
    275   gettimeofday (&start, (void *) NULL);
    276   dtime = 0.0;
    277   for (i = 0; (i < Nobject) && (dtime < MaxDelay); i++) {
    278     host = PullStackByLocation (stack, STACK_TOP);
    279     if (host == NULL) break;
     266  Stack *hoststack;
     267  Stack *jobstack;
     268  Host *host;
     269  Job *job;
     270  float dtime;
     271
     272  /* Loop through objects on the stack, no more than once. see note above */
     273  hoststack = GetHostStack (PCONTROL_HOST_RESP);
     274  jobstack = GetJobStack (PCONTROL_JOB_RESP);
     275  Nobject = hoststack[0].Nobject;
     276
     277  /* always allow at least one test */
     278  gettimeofday (&start, (void *) NULL);
     279  dtime = 0.0;
     280  for (i = 0; (i < Nobject) && (dtime < MaxDelay); i++) {
     281    LockStack (jobstack);
     282    host = PullStackByLocation (hoststack, STACK_TOP);
     283    if (host == NULL) {
     284        UnlockStack (jobstack);
     285        break;
     286    }
     287
     288    // if the host has a job, we need to pull the job from its stack
     289    job = (Job *) host[0].job;
     290    if (job != NULL) {
     291        RemoveStackByID (jobstack, job[0].JobID);
     292    }
     293    UnlockStack (jobstack);
     294
    280295    CheckRespHost (host);
    281296    gettimeofday (&stop, (void *) NULL);
Note: See TracChangeset for help on using the changeset viewer.