IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 21, 2008, 6:23:55 PM (18 years ago)
Author:
eugene
Message:

pause for 100msec if everyone is busy or idle

File:
1 edited

Legend:

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

    r11898 r16589  
    5959void *CheckSystem_Threaded (void *data) {
    6060
    61   int Njobchecks, Nhostchecks, Nlivechecks;
     61  int Njobchecks, Nhostchecks, Nlivechecks, Ndonejobs;
    6262
    6363  Nlivechecks = 0;
     
    8686    Njobchecks = 0;
    8787    Nhostchecks = 0;
     88    Ndonejobs = 0;
    8889
    8990    if ((RunLevel == PCONTROL_RUN_ALL) || (RunLevel == PCONTROL_RUN_REAP)) {
    9091      Njobchecks  += CheckBusyJobs(0.020);  /* get job status (PCLIENT) */
    9192      TestCheckPoint ();
    92       Njobchecks  += CheckDoneJobs(0.020);  /* harvest job stdout/stderr (!PCLIENT) */
     93      Ndonejobs    = CheckDoneJobs(0.020);  /* harvest job stdout/stderr (!PCLIENT) */
     94      Njobchecks  += Ndonejobs;
    9395      TestCheckPoint ();
    9496      Njobchecks  += CheckKillJobs(0.020);  /* harvest job stdout/stderr (PCLIENT) */
     
    113115      CheckLiveHosts(0.040);
    114116      usleep (100000); // idle if no jobs are waiting
    115     }
    116    
     117    } else {
     118      // if we only have busy jobs, pause a moment before trying again
     119      if (!Ndonejobs) {
     120        usleep (100000);
     121      }
     122    }
     123
    117124    if (DEBUG) {
    118125      Stack *stack;
Note: See TracChangeset for help on using the changeset viewer.