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)