Rev 2887 | Rev 2892 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2887 | Rev 2888 | ||
|---|---|---|---|
| Line 358... | Line 358... | ||
| 358 | { |
358 | { |
| 359 | int debug_method; |
359 | int debug_method; |
| 360 | 360 | ||
| 361 | debug_method = IPC_GET_ARG1(call->data); |
361 | debug_method = IPC_GET_ARG1(call->data); |
| 362 | 362 | ||
| - | 363 | if (debug_method != UDEBUG_M_BEGIN) { |
|
| - | 364 | /* |
|
| - | 365 | * Verify that the sender is this task's debugger. |
|
| - | 366 | * Note that this is the only thread that could change |
|
| - | 367 | * TASK->debugger. Therefore no locking is necessary |
|
| - | 368 | * and the sender can be safely considered valid until |
|
| - | 369 | * control exits this function. |
|
| - | 370 | */ |
|
| - | 371 | if (TASK->debugger != call->sender) { |
|
| - | 372 | IPC_SET_RETVAL(call->data, EINVAL); |
|
| - | 373 | ipc_answer(&TASK->kernel_box, call); |
|
| - | 374 | return; |
|
| - | 375 | } |
|
| - | 376 | } |
|
| - | 377 | ||
| 363 | switch (debug_method) { |
378 | switch (debug_method) { |
| 364 | case UDEBUG_M_BEGIN: |
379 | case UDEBUG_M_BEGIN: |
| 365 | udebug_receive_begin(call); |
380 | udebug_receive_begin(call); |
| 366 | break; |
381 | break; |
| 367 | case UDEBUG_M_END: |
382 | case UDEBUG_M_END: |