Revision e360ce71 src/urt_core.c
src/urt_core.c | ||
---|---|---|
117 | 117 |
return &core._evtSource; |
118 | 118 |
} |
119 | 119 |
|
120 |
|
|
121 |
/** |
|
122 |
* @brief Get Core nodes. |
|
123 |
* |
|
124 |
* @return Nodes registered to the core. |
|
125 |
*/ |
|
120 | 126 |
urt_node_t* urtCoreGetNodes(void) |
121 | 127 |
{ |
122 | 128 |
return core._nodes; |
123 | 129 |
} |
124 | 130 |
|
131 |
void urtCoreSetNodes(urt_node_t* node) |
|
132 |
{ |
|
133 |
core._nodes = node; |
|
134 |
return; |
|
135 |
} |
|
136 |
|
|
125 | 137 |
/** |
126 | 138 |
* @brief Start threads of all nodes of the Core. |
127 | 139 |
*/ |
... | ... | |
133 | 145 |
{ |
134 | 146 |
urtThreadStart(node->thread); |
135 | 147 |
node = node->next; |
148 |
urtThreadMSleep(100); //TODO: delete |
|
136 | 149 |
} |
137 | 150 |
urtMutexUnlock(&core._lock); |
138 | 151 |
return; |
... | ... | |
153 | 166 |
urtDebugAssert(node != NULL); |
154 | 167 |
|
155 | 168 |
urtMutexLock(&core._lock); |
156 |
node->stage -= 1;
|
|
169 |
node->stage++;
|
|
157 | 170 |
urt_node_t* nodeFromCore = core._nodes; |
158 | 171 |
while (nodeFromCore && nodeFromCore->stage == node->stage) |
159 | 172 |
{ |
160 | 173 |
nodeFromCore = nodeFromCore->next; |
161 | 174 |
} |
162 |
if (nodeFromCore) |
|
175 |
|
|
176 |
if (!nodeFromCore) |
|
163 | 177 |
{ |
164 | 178 |
urt_osEventFlags_t flag = URT_EVENTFLAG_PROCEED; |
165 | 179 |
urtEventSourceBroadcast(&core._evtSource, flag); |
Also available in: Unified diff