IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Aug 11, 2006, 4:51:50 PM (20 years ago)
Author:
eugene
Message:

working on threaded version

File:
1 edited

Legend:

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

    r8181 r8296  
    44
    55  int N, Ns;
     6  int StackID;
    67  IDtype HostID;
    78  Host *host;
     
    1516  }
    1617  if (!strcasecmp (argv[1], "ON")) {
    17     N = FindNamedHost (argv[2], PCONTROL_HOST_OFF);
    18     if (N < 0) {
     18    host = PullHostFromStackByName (PCONTROL_HOST_OFF, argv[2]);
     19    if (!host) {
    1920      gprint (GP_LOG, "host %s is not OFF\n", argv[2]);
    2021      return (FALSE);
    2122    }
    22     host = GetHost (PCONTROL_HOST_OFF, N);
    2323    DownHost (host);
    2424    return (TRUE);
    2525  }
    2626  if (!strcasecmp (argv[1], "RETRY")) {
    27     N = FindNamedHost (argv[2], PCONTROL_HOST_DOWN);
    28     if (N < 0) {
     27    host = PullHostFromStackByName (PCONTROL_HOST_DOWN, argv[2]);
     28    if (!host) {
    2929      gprint (GP_LOG, "host %s is not DOWN\n", argv[2]);
    3030      return (FALSE);
    3131    }
    32     host = GetHost (PCONTROL_HOST_DOWN, N);
     32    /* reset time, place back on DOWN stack */
    3333    host[0].nexttry.tv_sec  = 0;
    3434    host[0].nexttry.tv_usec = 0;
    3535    host[0].lasttry.tv_sec  = 0;
    3636    host[0].lasttry.tv_usec = 0;
    37     StartHost (host);
     37    PutHost (host, PCONTROL_HOST_DOWN, STACK_BOTTOM);
    3838    return (TRUE);
    3939  }
    4040  if (!strcasecmp (argv[1], "CHECK")) {
    41     Ns = FindNamedHostStack (argv[2]);
    42     switch (Ns) {
     41    host = PullHostByName (argv[2], &StackID);
     42    switch (StackID) {
    4343      case PCONTROL_HOST_IDLE:
     44        gprint (GP_LOG, "host %s is IDLE\n", argv[2]);
    4445      case PCONTROL_HOST_BUSY:
     46        gprint (GP_LOG, "host %s is BUSY\n", argv[2]);
    4547      case PCONTROL_HOST_DONE:
    46         N = FindNamedHost (argv[2], Ns);
    47         host = GetHost (Ns, N);
    48         if (CheckHost (host)) {
    49           if (VerboseMode()) gprint (GP_ERR, "host %s is on\n", host[0].hostname);
    50         }
    51         return (TRUE);
     48        gprint (GP_LOG, "host %s is DONE\n", argv[2]);
    5249      case PCONTROL_HOST_DOWN:
    5350        gprint (GP_LOG, "host %s is DOWN\n", argv[2]);
    54         return (TRUE);
    5551      case PCONTROL_HOST_OFF:
    5652        gprint (GP_LOG, "host %s is OFF\n", argv[2]);
    57         return (TRUE);
    5853      default:
    5954        gprint (GP_LOG, "host %s not found\n", argv[2]);
    6055        return (FALSE);
    6156    }
     57    PutHost (host, StackID, STACK_BOTTOM);
    6258    return (FALSE);
    6359  }
    6460  if (!strcasecmp (argv[1], "OFF")) {
    65     N = FindNamedHost (argv[2], PCONTROL_HOST_IDLE);
    66     if (N >= 0) {
    67       host = GetHost (PCONTROL_HOST_IDLE, N);
     61    host = PullHostFromStackByName (PCONTROL_HOST_IDLE, argv[2]);
     62    if (host) {
    6863      StopHost (host);
    6964      OffHost (host);
    7065      return (TRUE);
    7166    }
    72     N = FindNamedHost (argv[2], PCONTROL_HOST_DOWN);
    73     if (N >= 0) {
    74       host = GetHost (PCONTROL_HOST_DOWN, N);
     67    host = PullHostFromStackByName (PCONTROL_HOST_DOWN, argv[2]);
     68    if (host) {
    7569      OffHost (host);
    7670      return (TRUE);
    7771    }
    78     N = FindNamedHost (argv[2], PCONTROL_HOST_BUSY);
    79     if (N >= 0) {
    80       host = GetHost (PCONTROL_HOST_BUSY, N);
     72    /* XXX the 'markoff' flag is not being used */
     73    host = PullHostFromStackByName (PCONTROL_HOST_BUSY, argv[2]);
     74    if (host) {
    8175      host[0].markoff  = TRUE;
    8276      PutHost (host, PCONTROL_HOST_BUSY, STACK_BOTTOM);
     
    8781  }
    8882  if (!strcasecmp (argv[1], "DELETE")) {
    89     N = FindNamedHost (argv[2], PCONTROL_HOST_OFF);
    90     if (N < 0) {
     83    host = PullHostFromStackByName (PCONTROL_HOST_OFF, argv[2]);
     84    if (!host) {
    9185      gprint (GP_LOG, "host %s is not OFF\n", argv[2]);
    9286      return (FALSE);
    9387    }
    94     host = GetHost (PCONTROL_HOST_OFF, N);
    9588    DelHost (host);
    9689    return (TRUE);
Note: See TracChangeset for help on using the changeset viewer.