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