Revision e360ce71 src/urt_core.c

View differences:

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