Don't send an extra signal when waiting for a debug event, just do a
normal wait. Return the debug event status directly as return value
of the server call.
diff --git a/server/debugger.c b/server/debugger.c
index 28781ad..8940c0b 100644
--- a/server/debugger.c
+++ b/server/debugger.c
@@ -661,19 +661,19 @@
{
struct debug_event *event;
- reply->status = 0;
if ((event = (struct debug_event *)get_handle_obj( current->process, req->handle,
0, &debug_event_ops )))
{
+ close_handle( current->process, req->handle, NULL );
if (event->state == EVENT_CONTINUED)
{
- reply->status = event->status;
if (current->context == &event->context)
{
size_t size = min( sizeof(CONTEXT), get_reply_max_size() );
set_reply_data( &event->context, size );
current->context = NULL;
}
+ set_error( event->status );
}
else set_error( STATUS_PENDING );
release_object( event );