Revision 408a606c src/urt_node.c
src/urt_node.c | ||
---|---|---|
52 | 52 |
{ |
53 | 53 |
urt_osEventMask_t mask; |
54 | 54 |
urt_osEventFlags_t flag; //TODO: flag from core here |
55 |
urtEventRegister(core._evtSource, &localNode.listener, mask, flag);
|
|
55 |
urtEventRegister(urtCoreGetEvtSource(), &localNode.listener, mask, flag);
|
|
56 | 56 |
if (localNode.setupcallback != NULL) |
57 | 57 |
{ |
58 | 58 |
mask = localNode.setupcallback(&localNode, arg); |
... | ... | |
66 | 66 |
mask = 0xFFFFFFFF; |
67 | 67 |
} |
68 | 68 |
|
69 |
if (core._status == URT_STATUS_OK)
|
|
69 |
if (urtCoreGetStatus() == URT_STATUS_OK)
|
|
70 | 70 |
{ |
71 | 71 |
urtCoreSynchronizeNodes(&localNode); |
72 | 72 |
} |
... | ... | |
92 | 92 |
{ |
93 | 93 |
localNode.shutdowncallback(&localNode, urtCoreGetStatus(), arg); |
94 | 94 |
} |
95 |
urtEventUnregister(core._evtSource, &localNode.listener);
|
|
95 |
urtEventUnregister(urtCoreGetEvtSource(), &localNode.listener);
|
|
96 | 96 |
urt_osThread_t* threadToTerminate = localNode.thread; |
97 | 97 |
urt_osThread_t* threadToTerminateChild; |
98 | 98 |
while (threadToTerminate != NULL) |
... | ... | |
150 | 150 |
#if (URT_CFG_PUBSUB_PROFILING || URT_CFG_RPC_PROFILING) |
151 | 151 |
node->loops = 0; |
152 | 152 |
#endif /* URT_CFG_PUBSUB_PROFILING || URT_CFG_RPC_PROFILING */ |
153 |
urtMutexLock(&core._lock); |
|
154 |
node->next = core._nodes; |
|
155 |
core._nodes = node; |
|
156 |
urtMutexUnlock(&core._lock); |
|
153 |
urt_osMutex_t mutexTemp = urtCoreGetMutex(); |
|
154 |
urtMutexLock(&mutexTemp); |
|
155 |
node->next = urtCoreGetNodes(); |
|
156 |
urt_node_t* nodeCore = urtCoreGetNodes(); |
|
157 |
nodeCore = node; |
|
158 |
urtMutexUnlock(&mutexTemp); |
|
157 | 159 |
localNode = *node; |
158 | 160 |
return; |
159 | 161 |
} |
Also available in: Unified diff