IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 10652


Ignore:
Timestamp:
Dec 12, 2006, 1:17:11 AM (20 years ago)
Author:
eugene
Message:

adding ASSERTs all over

Location:
trunk/Ohana/src/opihi/pcontrol
Files:
20 edited

Legend:

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

    r10651 r10652  
    1212     JOB_BUSY stack, and is linked to a host in the HOST_BUSY stack. 
    1313     XXX need to check on state of HOST on return */
     14
     15  ASSERT (job, "job not set");
     16  ASSERT (host, "host not set");
    1417
    1518  ASSERT (host == (Host *) job[0].host, "invalid host");
  • trunk/Ohana/src/opihi/pcontrol/CheckDoneHost.c

    r8424 r10652  
    66  char     *p;
    77  IOBuffer  buffer;
     8
     9  ASSERT (host, "host not set");
    810
    911  InitIOBuffer (&buffer, 0x100);
  • trunk/Ohana/src/opihi/pcontrol/CheckDoneJob.c

    r8424 r10652  
    44 
    55  int success;
     6
     7  ASSERT (job, "job not set");
     8  ASSERT (host, "host not set");
    69
    710  ASSERT (host == (Host *) job[0].host, "invalid host");
  • trunk/Ohana/src/opihi/pcontrol/CheckHost.c

    r8424 r10652  
    55  int status;
    66  IOBuffer buffer;
     7
     8  ASSERT (host, "host not set");
    79
    810  if (host[0].job != NULL) return (TRUE);
  • trunk/Ohana/src/opihi/pcontrol/CheckIdleHost.c

    r8424 r10652  
    77  Stack *stack;
    88  Job *job;
     9
     10  ASSERT (host, "host not set");
    911
    1012  /* if this host has been marked to be turned off, do that and return */
  • trunk/Ohana/src/opihi/pcontrol/CheckPoint.c

    r8546 r10652  
    1818# ifdef THREADED
    1919  int status;
     20  int Nwait;
    2021
    2122  // set my lock
     
    2324
    2425  // wait until client thread sets its lock
     26  Nwait = 0;
    2527  while (1) {
    2628    status = pthread_mutex_trylock (&client);
     
    3133    pthread_mutex_unlock (&client);
    3234    usleep (10000); // wait for client thread to set lock
     35    Nwait ++;
     36    if (Nwait > 100) {
     37      fprintf (stderr, "deadlock?\n");
     38    }
    3339  }
    3440  // put in a timeout?  (client thread not spinning...)
  • trunk/Ohana/src/opihi/pcontrol/CheckSystem.c

    r10651 r10652  
    178178    }
    179179    host = (Host *) job[0].host;
     180    ASSERT (host, "host is NULL");
     181
    180182    RemoveStackByID (hoststack, host[0].HostID);
    181183    UnlockStack (hoststack);
     
    215217    }
    216218    host = (Host *) job[0].host;
     219    ASSERT (host, "host is NULL");
     220
    217221    RemoveStackByID (hoststack, host[0].HostID);
    218222    UnlockStack (hoststack);
  • trunk/Ohana/src/opihi/pcontrol/GetJobOutput.c

    r7917 r10652  
    88  char *line;
    99  struct timespec request, remain;
     10
     11  ASSERT (cmd, "cmd missing");
     12  ASSERT (host, "host missing");
     13  ASSERT (buffer, "buffer missing");
    1014
    1115  /* flush any earlier messages */
  • trunk/Ohana/src/opihi/pcontrol/HostOps.c

    r8424 r10652  
    145145}
    146146
    147 /* find the host by ID in the defined host stacks (don't pull off stack) */
    148 /* the Find functions are not thread-safe: DROP */
    149 # if (0)
    150 Host *FindHostByID (IDtype HostID, int *StackID) {
    151 
    152   Host *host;
    153 
    154   *StackID = PCONTROL_HOST_IDLE;
    155   host = FindHostInStackByID (*StackID, HostID);
    156   if (host != NULL) return (host);
    157 
    158   *StackID = PCONTROL_HOST_DOWN;
    159   host = FindHostInStackByID (*StackID, HostID);
    160   if (host != NULL) return (host);
    161 
    162   *StackID = PCONTROL_HOST_DONE;
    163   host = FindHostInStackByID (*StackID, HostID);
    164   if (host != NULL) return (host);
    165 
    166   *StackID = PCONTROL_HOST_BUSY;
    167   host = FindHostInStackByID (*StackID, HostID);
    168   if (host != NULL) return (host);
    169 
    170   *StackID = PCONTROL_HOST_OFF;
    171   host = FindHostInStackByID (*StackID, HostID);
    172   if (host != NULL) return (host);
    173 
    174   *StackID = -1;
    175   return (NULL);
    176 }
    177 
    178 /* find the host by Name in the defined host stacks (don't pull off stack) */
    179 Host *FindHostByName (char *name, int *StackID) {
    180 
    181   Host *host;
    182 
    183   *StackID = PCONTROL_HOST_IDLE;
    184   host = FindHostInStackByName (*StackID, name);
    185   if (host != NULL) return (host);
    186 
    187   *StackID = PCONTROL_HOST_DOWN;
    188   host = FindHostInStackByName (*StackID, name);
    189   if (host != NULL) return (host);
    190 
    191   *StackID = PCONTROL_HOST_DONE;
    192   host = FindHostInStackByName (*StackID, name);
    193   if (host != NULL) return (host);
    194 
    195   *StackID = PCONTROL_HOST_BUSY;
    196   host = FindHostInStackByName (*StackID, name);
    197   if (host != NULL) return (host);
    198 
    199   *StackID = PCONTROL_HOST_OFF;
    200   host = FindHostInStackByName (*StackID, name);
    201   if (host != NULL) return (host);
    202 
    203   *StackID = -1;
    204   return (NULL);
    205 }
    206 
    207 Host *FindHostInStackByID (int StackID, IDtype ID) {
    208 
    209   Host *host;
    210   Stack *stack;
    211 
    212   stack = GetHostStack (StackID);
    213   if (stack == NULL) return (NULL);
    214 
    215   host = FindStackByID (stack, ID);
    216   return (host);
    217 }
    218 
    219 Host *FindHostInStackByName (int StackID, char *name) {
    220 
    221   Host *host;
    222   Stack *stack;
    223 
    224   stack = GetHostStack (StackID);
    225   if (stack == NULL) return (NULL);
    226 
    227   host = FindStackByName (stack, name);
    228   return (host);
    229 }
    230 # endif
    231 
    232147IDtype AddHost (char *hostname) {
    233148
  • trunk/Ohana/src/opihi/pcontrol/JobOps.c

    r8424 r10652  
    130130  return (job);
    131131}
    132  
    133 /* the Find functions are not thread-safe: DROP */
    134 # if (0)
    135 Job *FindJobByID (IDtype JobID, int *StackID) {
    136 
    137   Job *job;
    138 
    139   *StackID = PCONTROL_JOB_PENDING;
    140   job = FindJobInStackByID (*StackID, JobID);
    141   if (job != NULL) return (job);
    142 
    143   *StackID = PCONTROL_JOB_BUSY;
    144   job = FindJobInStackByID (*StackID, JobID);
    145   if (job != NULL) return (job);
    146 
    147   *StackID = PCONTROL_JOB_EXIT;
    148   job = FindJobInStackByID (*StackID, JobID);
    149   if (job != NULL) return (job);
    150 
    151   *StackID = PCONTROL_JOB_CRASH;
    152   job = FindJobInStackByID (*StackID, JobID);
    153   if (job != NULL) return (job);
    154 
    155   *StackID = PCONTROL_JOB_DONE;
    156   job = FindJobInStackByID (*StackID, JobID);
    157   if (job != NULL) return (job);
    158 
    159   return (NULL);
    160 }
    161 
    162 /* remove job from position in stack */
    163 Job *FindJobInStackByID (int StackID, int ID) {
    164 
    165   Job *job;
    166   Stack *stack;
    167 
    168   stack = GetJobStack (StackID);
    169   if (stack == NULL) return (NULL);
    170 
    171   job = FindStackByID (stack, ID);
    172   return (job);
    173 }
    174 # endif
    175132
    176133IDtype AddJob (char *hostname, JobMode mode, int timeout, int argc, char **argv) {
  • trunk/Ohana/src/opihi/pcontrol/KillJob.c

    r10651 r10652  
    66  int status;
    77  char *p;
     8
     9  ASSERT (host != NULL, "host missing");
     10  ASSERT (job != NULL, "job missing");
    811
    912  ASSERT (host == (Host *) job[0].host, "invalid host");
  • trunk/Ohana/src/opihi/pcontrol/PclientCommand.c

    r8546 r10652  
    88  char *line;
    99  struct timespec request, remain;
     10
     11  ASSERT (host != NULL, "host missing");
     12  ASSERT (buffer != NULL, "buffer missing");
     13  ASSERT (command != NULL, "command missing");
     14  ASSERT (response != NULL, "response missing");
    1015
    1116  /* avoid blocking on read, test every 100 usec, up to 50 msec */
  • trunk/Ohana/src/opihi/pcontrol/QueueOps.c

    r3203 r10652  
    77  void *object;
    88 
     9  ASSERT (stack != NULL, "stack missing");
     10
    911  /* STACK_TOP == 0, STACK_BOTTOM == -1 */
    1012  /* this code correctly handles the negative 'where' and Nobject == 0 */
     
    2527
    2628  int i;
     29
     30  ASSERT (stack != NULL, "stack missing");
    2731
    2832  /* STACK_TOP == 0, STACK_BOTTOM == -1 */
  • trunk/Ohana/src/opihi/pcontrol/ResetJob.c

    r7917 r10652  
    88
    99  /** must have a valid host : if not, move to pending? **/
     10  ASSERT (job != NULL, "job missing");
     11
    1012  host = (Host *) job[0].host;
     13  ASSERT (job != NULL, "host missing");
    1114
    1215  InitIOBuffer (&buffer, 0x100);
  • trunk/Ohana/src/opihi/pcontrol/StackOps.c

    r8424 r10652  
    3939  int i;
    4040
     41  ASSERT (stack != NULL, "stack not set");
    4142  LockStack (stack);
    4243
     
    7475  void *object;
    7576 
     77  ASSERT (stack != NULL, "stack not set");
    7678  LockStack (stack);
    7779
     
    98100  void *object;
    99101
     102  ASSERT (stack != NULL, "stack not set");
    100103  LockStack (stack);
    101104
     
    119122  void *object;
    120123 
     124  ASSERT (stack != NULL, "stack not set");
    121125  LockStack (stack);
    122126
     
    138142
    139143  int i;
     144
     145  ASSERT (stack != NULL, "stack not set");
    140146
    141147  if (where < 0) abort();
     
    159165  void *object;
    160166 
     167  ASSERT (stack != NULL, "stack not set");
     168
    161169  for (i = 0; i < stack[0].Nobject; i++) {
    162170    if (stack[0].id[i] != id) continue;
     
    170178}
    171179
    172 /* the Find operations are not thread-safe */
    173 # if (0)
    174 /* get object from stack which matches name */
    175 void *FindStackByName (Stack *stack, char *name) {
    176 
    177   int i, j;
    178   void *object;
    179 
    180   for (i = 0; i < stack[0].Nobject; i++) {
    181     if (strcasecmp (stack[0].name[i], name)) continue;
    182 
    183     /* here is the element of interest */
    184     object = stack[0].object[i];
    185     return (object);
    186   }
    187   return (NULL);
    188 }
    189 
    190 /* find object in stack, don't remove */
    191 void *FindStackByID (Stack *stack, int id) {
    192 
    193   int i, j;
    194   void *object;
    195  
    196   for (i = 0; i < stack[0].Nobject; i++) {
    197     if (stack[0].id[i] != id) continue;
    198 
    199     /* here is the element of interest */
    200     object = stack[0].object[i];
    201     return (object);
    202   }
    203   return (NULL);
    204 }
    205 # endif
    206 
    207180void LockStack (Stack *stack) {
    208181# ifdef THREADED
     182  ASSERT (stack != NULL, "stack not set");
    209183  pthread_mutex_lock (&stack[0].mutex);
    210184# endif
     
    214188void UnlockStack (Stack *stack) {
    215189# ifdef THREADED
     190  ASSERT (stack != NULL, "stack not set");
    216191  pthread_mutex_unlock (&stack[0].mutex);
    217192# endif
  • trunk/Ohana/src/opihi/pcontrol/StartJob.c

    r8424 r10652  
    1010
    1111  /* job must have assigned host */
     12  ASSERT (job != NULL, "missing job");
     13  ASSERT (host != NULL, "missing host");
    1214  ASSERT (host == (Host *) job[0].host, "invalid host");
    1315  ASSERT (job  == (Job *) host[0].job, "invalid job");
  • trunk/Ohana/src/opihi/pcontrol/StopHosts.c

    r8546 r10652  
    3030  SetCheckPoint (); // ensure we can find the specified host
    3131  stack = GetHostStack (PCONTROL_HOST_IDLE);
     32  ASSERT (stack != NULL, "stack missing");
    3233  Nobject = stack[0].Nobject;
    3334  for (i = 0; i < Nobject; i++) {
     
    3940
    4041  stack = GetHostStack (PCONTROL_HOST_BUSY);
     42  ASSERT (stack != NULL, "stack missing");
    4143  Nobject = stack[0].Nobject;
    4244  for (i = 0; i < Nobject; i++) {
     
    5052  Nwait = 0;
    5153  stack = GetHostStack (PCONTROL_HOST_IDLE);
     54  ASSERT (stack != NULL, "stack missing");
     55
    5256  gprint (GP_ERR, "waiting for clients to exit");
    5357  while ((Nwait < 15) && stack[0].Nobject) {
  • trunk/Ohana/src/opihi/pcontrol/host.c

    r8424 r10652  
    6868  }
    6969
    70 # if 0
    71     host = PullHostFromStackByName (PCONTROL_HOST_IDLE, argv[2]);
    72     if (host) {
    73       StopHost (host);
    74       OffHost (host);
    75       ClearCheckPoint ();
    76       return (TRUE);
    77     }
    78     host = PullHostFromStackByName (PCONTROL_HOST_DOWN, argv[2]);
    79     if (host) {
    80       OffHost (host);
    81       ClearCheckPoint ();
    82       return (TRUE);
    83     }
    84     /* XXX the 'markoff' flag is not being checked */
    85     host = PullHostFromStackByName (PCONTROL_HOST_BUSY, argv[2]);
    86     if (host) {
    87       host[0].markoff  = TRUE;
    88       PutHost (host, PCONTROL_HOST_BUSY, STACK_BOTTOM);
    89       ClearCheckPoint ();
    90       return (TRUE);
    91     }
    92     /* XXX the 'markoff' flag is not being checked */
    93     host = PullHostFromStackByName (PCONTROL_HOST_DONE, argv[2]);
    94     if (host) {
    95       host[0].markoff  = TRUE;
    96       PutHost (host, PCONTROL_HOST_DONE, STACK_BOTTOM);
    97       ClearCheckPoint ();
    98       return (TRUE);
    99     }
    100     gprint (GP_LOG, "host %s is not found (already off?)\n", argv[2]);
    101     ClearCheckPoint ();
    102     return (FALSE);
    103   }
    104 # endif
    105 
    10670  if (!strcasecmp (argv[1], "DELETE")) {
    10771    // a check point is not required: no possible thief
  • trunk/Ohana/src/opihi/pcontrol/rconnect.c

    r8546 r10652  
    1717  IOBuffer buffer;
    1818  struct timespec request, remain;
     19
     20  ASSERT (command != NULL, "command is NULL");
     21  ASSERT (hostname != NULL, "hostname is NULL");
     22  ASSERT (shell != NULL, "shell is NULL");
     23  ASSERT (stdio != NULL, "stdio is NULL");
    1924
    2025  bzero (stdin_fd,  2*sizeof(int));
  • trunk/Ohana/src/opihi/pcontrol/status.c

    r8424 r10652  
    2828
    2929  stack = GetJobStack (Nstack);
     30  ASSERT (stack != NULL, "programming error");
    3031
    3132  LockStack (stack);
     
    3536  for (i = 0; i < Nobject; i++) {
    3637    job = stack[0].object[i];
     38    ASSERT (job != NULL, "programming error");
    3739    gprint (GP_LOG, "%d  %s  %d  ", i, job[0].hostname, job[0].argc);
    3840    for (j = 0; j < job[0].argc; j++) {
Note: See TracChangeset for help on using the changeset viewer.