Rev 3600 | Rev 3603 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3600 | Rev 3601 | ||
---|---|---|---|
Line 140... | Line 140... | ||
140 | mutex_lock(&t->udebug.lock); |
140 | mutex_lock(&t->udebug.lock); |
141 | 141 | ||
142 | /* The big task mutex is no longer needed. */ |
142 | /* The big task mutex is no longer needed. */ |
143 | mutex_unlock(&TASK->udebug.lock); |
143 | mutex_unlock(&TASK->udebug.lock); |
144 | 144 | ||
145 | if (!t->udebug.stop != being_go) { |
145 | if (t->udebug.go != being_go) { |
146 | /* Not in debugging session or undesired GO state. */ |
146 | /* Not in debugging session or undesired GO state. */ |
147 | mutex_unlock(&t->udebug.lock); |
147 | mutex_unlock(&t->udebug.lock); |
148 | return EINVAL; |
148 | return EINVAL; |
149 | } |
149 | } |
150 | 150 | ||
Line 289... | Line 289... | ||
289 | if (rc != EOK) { |
289 | if (rc != EOK) { |
290 | return rc; |
290 | return rc; |
291 | } |
291 | } |
292 | 292 | ||
293 | t->udebug.go_call = call; |
293 | t->udebug.go_call = call; |
294 | t->udebug.stop = false; |
294 | t->udebug.go = true; |
295 | t->udebug.cur_event = 0; /* none */ |
295 | t->udebug.cur_event = 0; /* none */ |
296 | 296 | ||
297 | /* |
297 | /* |
298 | * Neither t's lock nor threads_lock may be held during wakeup. |
298 | * Neither t's lock nor threads_lock may be held during wakeup. |
299 | */ |
299 | */ |
Line 327... | Line 327... | ||
327 | if (rc != EOK) { |
327 | if (rc != EOK) { |
328 | return rc; |
328 | return rc; |
329 | } |
329 | } |
330 | 330 | ||
331 | /* Take GO away from the thread. */ |
331 | /* Take GO away from the thread. */ |
332 | t->udebug.stop = true; |
332 | t->udebug.go = false; |
333 | 333 | ||
334 | if (!t->udebug.stoppable) { |
334 | if (t->udebug.stoppable != true) { |
335 | /* Answer will be sent when the thread becomes stoppable. */ |
335 | /* Answer will be sent when the thread becomes stoppable. */ |
336 | _thread_op_end(t); |
336 | _thread_op_end(t); |
337 | return 0; |
337 | return 0; |
338 | } |
338 | } |
339 | 339 |