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