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: |