IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 10656


Ignore:
Timestamp:
Dec 12, 2006, 9:37:18 AM (20 years ago)
Author:
eugene
Message:

added some debugging info; fixed memory error

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

Legend:

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

    r10652 r10656  
    6666
    6767    // don't run the system checks if RunSystem is FALSE
     68    // XXX stop should not suspend all checks: we should continue
     69    // to harvest completed jobs and migrate idle machines to down
    6870    if (!RunSystem) {
    6971      usleep (50000); // idle if RunSystem is FALSE
  • trunk/Ohana/src/opihi/pcontrol/StackOps.c

    r10652 r10656  
    1111 */
    1212
     13# define DEBUG 0
     14
     15void PrintStackInfo (Stack *stack, char *func) {
     16
     17  if (!DEBUG) return;
     18  fprintf (stderr, "%s: %p  ", func, stack);
     19  fprintf (stderr, "objects: %p  ", stack[0].object);
     20  fprintf (stderr, "Nobjects: %d, NOBJECTS: %d\n", stack[0].Nobject, stack[0].NOBJECT);
     21}
     22
    1323/* allocate stack, setup with default values, allocate data */
    1424Stack *InitStack () {
     
    3949  int i;
    4050
     51  PrintStackInfo (stack, __func__);
    4152  ASSERT (stack != NULL, "stack not set");
    4253  LockStack (stack);
     
    5667    stack[0].NOBJECT += 100;
    5768    REALLOCATE (stack[0].object, void *, stack[0].NOBJECT);
     69    REALLOCATE (stack[0].name,   char *, stack[0].NOBJECT);
     70    REALLOCATE (stack[0].id,     int, stack[0].NOBJECT);
    5871  }
    5972
    6073  for (i = stack[0].Nobject; i > where; i--) {
    6174    stack[0].object[i] = stack[0].object[i-1];
     75    stack[0].name[i]   = stack[0].name[i-1];
     76    stack[0].id[i]     = stack[0].id[i-1];
    6277  }
    6378  stack[0].object[where] = object;
     
    7590  void *object;
    7691 
     92  PrintStackInfo (stack, __func__);
    7793  ASSERT (stack != NULL, "stack not set");
    7894  LockStack (stack);
     
    100116  void *object;
    101117
     118  PrintStackInfo (stack, __func__);
    102119  ASSERT (stack != NULL, "stack not set");
    103120  LockStack (stack);
     
    122139  void *object;
    123140 
     141  PrintStackInfo (stack, __func__);
    124142  ASSERT (stack != NULL, "stack not set");
    125143  LockStack (stack);
     
    143161  int i;
    144162
     163  PrintStackInfo (stack, __func__);
    145164  ASSERT (stack != NULL, "stack not set");
    146165
     
    150169
    151170  /* shift the remaining entries by one */
     171  /* XXX free associated memory */
    152172  stack[0].Nobject --;
    153173  for (i = where; i < stack[0].Nobject; i++) {
     
    165185  void *object;
    166186 
    167   ASSERT (stack != NULL, "stack not set");
    168 
     187  PrintStackInfo (stack, __func__);
     188  ASSERT (stack != NULL, "stack not set");
    169189  for (i = 0; i < stack[0].Nobject; i++) {
    170190    if (stack[0].id[i] != id) continue;
     
    180200void LockStack (Stack *stack) {
    181201# ifdef THREADED
     202  PrintStackInfo (stack, __func__);
    182203  ASSERT (stack != NULL, "stack not set");
    183204  pthread_mutex_lock (&stack[0].mutex);
     
    188209void UnlockStack (Stack *stack) {
    189210# ifdef THREADED
     211  PrintStackInfo (stack, __func__);
    190212  ASSERT (stack != NULL, "stack not set");
    191213  pthread_mutex_unlock (&stack[0].mutex);
Note: See TracChangeset for help on using the changeset viewer.