Revision e360ce71 src/urt_node.c

View differences:

src/urt_node.c
69 69
    urtCoreSynchronizeNodes(((urt_node_t*)arg));
70 70
  }
71 71

  
72
  while (!urtThreadShouldTerminate())
72

  
73
  while (/*!*/urtThreadShouldTerminate()) //TODO: uncomment
73 74
  {
74 75
    urt_osEventMask_t temp = urtEventWait(mask, URT_EVENT_WAIT_ONE, URT_DELAY_INFINITE);
75 76
    if (temp == urtCoreGetEventMask())
......
90 91
    ((urt_node_t*)arg)->shutdowncallback(((urt_node_t*)arg), urtCoreGetStatus(), ((urt_node_t*)arg)->shutdownparams);
91 92
  }
92 93
  urtEventUnregister(urtCoreGetEvtSource(), &((urt_node_t*)arg)->listener);
93

  
94 94
  urt_osThread_t* threadToTerminate = ((urt_node_t*)arg)->thread;
95 95
  while (threadToTerminate->children != NULL || threadToTerminate->sibling != NULL)
96 96
  {
......
109 109
    if(threadToJoin->sibling != NULL)
110 110
      urtThreadJoin(threadToJoin->sibling);
111 111
  }
112
  urtThreadJoin(threadToJoin);
112
  //urtThreadJoin(threadToJoin); //TODO: uncomment
113 113

  
114 114
  return;
115 115
}
......
146 146
    urtDebugAssert(setupparams == NULL);
147 147

  
148 148
  node->next = NULL;
149
  urtPrintf("Test before threadInit in node\n");
150
  urtThreadMSleep(10);
151 149
  node->thread = urtThreadInit((void*)thread, sizeof(thread), prio, (urt_osThreadFunction_t) _main, (void*)node);
152
  urtPrintf("Test after threadInit in node\n");
153
  urtThreadMSleep(10);
154 150
  node->setupcallback = setupcallback;
155 151
  node->setupparams = setupparams;
156 152
  node->loopcallback = loopcallback;
......
165 161
  urt_osMutex_t* mutexTemp = urtCoreGetMutex();
166 162
  urtMutexLock(mutexTemp);
167 163
    node->next = urtCoreGetNodes();
168
    urt_node_t* nodeCore = urtCoreGetNodes();
169
    nodeCore->next = node;
164
    urtCoreSetNodes(node);
170 165
  urtMutexUnlock(mutexTemp);
171 166
  return;
172 167
}

Also available in: Unified diff