IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 13, 2006, 8:55:12 AM (20 years ago)
Author:
eugene
Message:

added run level

File:
1 edited

Legend:

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

    r8424 r10693  
    33int run (int argc, char **argv) {
    44
    5   if (argc != 1) {
    6     gprint (GP_ERR, "USAGE: run\n");
     5  RunLevels level;
     6
     7  if ((argc > 2) ||
     8      get_argument (argc, argv, "help") ||
     9      get_argument (argc, argv, "-h") ||
     10      get_argument (argc, argv, "--help"))
     11  {
     12    if (!strcmp (argv[0], "run")) {
     13      gprint (GP_ERR, "USAGE: run [level]\n");
     14      gprint (GP_ERR, "  allowed levels:\n");
     15      gprint (GP_ERR, "  all (default) : manage machines, spawn jobs, harvest jobs\n");
     16      gprint (GP_ERR, "  reap          : manage machines, harvest jobs\n");
     17      gprint (GP_ERR, "  hosts         : manage machines, not jobs\n");
     18      gprint (GP_ERR, "  none          : all stop\n");
     19    } else {
     20      gprint (GP_ERR, "USAGE: stop (immediate processing halt)\n");
     21    }
     22    return (FALSE);
     23  }
     24
     25  level = PCONTROL_RUN_UNKNOWN;
     26  if (argc == 1) {
     27    if (!strcasecmp (argv[0], "run")) level = PCONTROL_RUN_ALL;
     28    if (!strcasecmp (argv[0], "stop")) level = PCONTROL_RUN_NONE;
     29  } else {
     30    if (!strcasecmp (argv[1], "all")) level = PCONTROL_RUN_ALL;
     31    if (!strcasecmp (argv[1], "reap")) level = PCONTROL_RUN_REAP;
     32    if (!strcasecmp (argv[1], "host")) level = PCONTROL_RUN_HOSTS;
     33    if (!strcasecmp (argv[1], "hosts")) level = PCONTROL_RUN_HOSTS;
     34    if (!strcasecmp (argv[1], "none")) level = PCONTROL_RUN_NONE;
     35  }
     36
     37  if (level == PCONTROL_RUN_UNKNOWN) {
     38    gprint (GP_ERR, "  unknown run level %s\n", argv[1]);
     39    gprint (GP_ERR, "  allowed levels:\n");
     40    gprint (GP_ERR, "  all (default) : manage machines, spawn jobs, harvest jobs\n");
     41    gprint (GP_ERR, "  reap          : manage machines, harvest jobs\n");
     42    gprint (GP_ERR, "  hosts         : manage machines, not jobs\n");
     43    gprint (GP_ERR, "  none          : all stop\n");
    744    return (FALSE);
    845  }
    946
    1047# ifdef THREADED
    11   SetRunSystem (TRUE);
     48  SetRunLevel (level);
    1249# else
    13   rl_event_hook = CheckSystem;
     50  if (level == PCONTROL_RUN_NONE) {
     51    rl_event_hook = NULL;
     52  } else {
     53    rl_event_hook = CheckSystem;
     54  }
    1455# endif
    1556
     
    1758}
    1859
     60/*
     61   run levels:
     62   all (manage machines, spawn jobs, harvest jobs)
     63   reap (manage machines, harvest jobs)
     64   hosts (manage machines, not jobs)
     65   none (all stop)
     66*/
Note: See TracChangeset for help on using the changeset viewer.