Revision 33aa05c5 src/urt_node.c
| src/urt_node.c | ||
|---|---|---|
| 69 | 69 |
urtCoreSynchronizeNodes(((urt_node_t*)arg)); |
| 70 | 70 |
} |
| 71 | 71 |
|
| 72 |
while (urtThreadShouldTerminate()) |
|
| 72 |
while (!urtThreadShouldTerminate())
|
|
| 73 | 73 |
{
|
| 74 | 74 |
urt_osEventMask_t temp = urtEventWait(mask, URT_EVENT_WAIT_ONE, URT_DELAY_INFINITE); |
| 75 | 75 |
if (temp == urtCoreGetEventMask()) |
| ... | ... | |
| 91 | 91 |
} |
| 92 | 92 |
urtEventUnregister(urtCoreGetEvtSource(), &((urt_node_t*)arg)->listener); |
| 93 | 93 |
|
| 94 |
|
|
| 95 | 94 |
//Terminate all children and siblings |
| 96 | 95 |
urt_osThread_t* threadToTerminate = urtThreadGetSelf()->children; |
| 97 | 96 |
while (threadToTerminate != urtThreadGetSelf() && threadToTerminate != NULL) |
| ... | ... | |
| 199 | 198 |
#if (URT_CFG_PUBSUB_PROFILING || URT_CFG_RPC_PROFILING) |
| 200 | 199 |
node->loops = 0; |
| 201 | 200 |
#endif /* URT_CFG_PUBSUB_PROFILING || URT_CFG_RPC_PROFILING */ |
| 202 |
urt_osMutex_t* mutexTemp = urtCoreGetMutex(); |
|
| 203 |
urtMutexLock(mutexTemp); |
|
| 204 |
node->next = urtCoreGetNodes(); |
|
| 205 |
urtCoreAddNode(node); |
|
| 206 |
urtMutexUnlock(mutexTemp); |
|
| 201 |
node->next = urtCoreGetNodes(); |
|
| 202 |
urtCoreAddNode(node); |
|
| 207 | 203 |
return; |
| 208 | 204 |
} |
Also available in: Unified diff