Added specific routines for OUTPUT_DEBUG_STRING and EXCEPTION debug events.
Generate a breakpoint event on process attach.
Misc cleanups in request handling.
diff --git a/server/request.c b/server/request.c
index 7f67c1b..582f839 100644
--- a/server/request.c
+++ b/server/request.c
@@ -127,16 +127,16 @@
}
/* call a request handler */
-static void call_req_handler( struct thread *thread, enum request req, int fd )
+static inline void call_req_handler( struct thread *thread, enum request req )
{
current = thread;
clear_error();
- if (debug_level) trace_request( req, fd );
+ if (debug_level) trace_request( req );
if (req < REQ_NB_REQUESTS)
{
- req_handlers[req].handler( current->buffer, fd );
+ req_handlers[req]( current->buffer );
if (current && !current->wait) send_reply( current );
current = NULL;
return;
@@ -186,10 +186,8 @@
if (ret == sizeof(req))
{
- int pass_fd = thread->pass_fd;
+ call_req_handler( thread, req );
thread->pass_fd = -1;
- call_req_handler( thread, req, pass_fd );
- if (pass_fd != -1) close( pass_fd );
return;
}
if (ret == -1)