Revision 8378a78b src/urt_node.c

View differences:

src/urt_node.c
70 70
  }
71 71

  
72 72

  
73
  while (/*!*/urtThreadShouldTerminate()) //TODO: uncomment
73
  while (urtThreadShouldTerminate())
74 74
  {
75 75
    urt_osEventMask_t temp = urtEventWait(mask, URT_EVENT_WAIT_ONE, URT_DELAY_INFINITE);
76 76
    if (temp == urtCoreGetEventMask())
......
92 92
  }
93 93
  urtEventUnregister(urtCoreGetEvtSource(), &((urt_node_t*)arg)->listener);
94 94
  urt_osThread_t* threadToTerminate = ((urt_node_t*)arg)->thread;
95
  //urt_osThread_t* threadToTerminate = urtThreadGetSelf();
95 96
  while (threadToTerminate->children != NULL || threadToTerminate->sibling != NULL)
96 97
  {
97 98
    if (threadToTerminate->children != NULL)
......
99 100
    if(threadToTerminate->sibling != NULL)
100 101
      urtThreadTerminate(threadToTerminate->sibling, URT_THREAD_TERMINATE_REQUEST);
101 102
  }
102
  urtThreadTerminate(threadToTerminate, URT_THREAD_TERMINATE_REQUEST);
103 103

  
104 104
  urt_osThread_t* threadToJoin = ((urt_node_t*)arg)->thread;
105 105
  while (threadToJoin->children != NULL || threadToJoin->sibling != NULL)
......
109 109
    if(threadToJoin->sibling != NULL)
110 110
      urtThreadJoin(threadToJoin->sibling);
111 111
  }
112
  //urtThreadJoin(threadToJoin); //TODO: uncomment
113 112

  
113
  urtThreadExit();
114 114
  return;
115 115
}
116 116

  

Also available in: Unified diff