Added exception handling wrapper to a number of server requests. Changed a few requests to use the new vararg mechanism.
diff --git a/scheduler/pipe.c b/scheduler/pipe.c index 6b018c7..3d83e53 100644 --- a/scheduler/pipe.c +++ b/scheduler/pipe.c
@@ -16,11 +16,18 @@ BOOL WINAPI CreatePipe( PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES sa, DWORD size ) { - struct create_pipe_request *req = get_req_buffer(); + BOOL ret; + SERVER_START_REQ + { + struct create_pipe_request *req = server_alloc_req( sizeof(*req), 0 ); - req->inherit = (sa && (sa->nLength>=sizeof(*sa)) && sa->bInheritHandle); - if (server_call( REQ_CREATE_PIPE )) return FALSE; - *hReadPipe = req->handle_read; - *hWritePipe = req->handle_write; - return TRUE; + req->inherit = (sa && (sa->nLength>=sizeof(*sa)) && sa->bInheritHandle); + if ((ret = !server_call( REQ_CREATE_PIPE ))) + { + *hReadPipe = req->handle_read; + *hWritePipe = req->handle_write; + } + } + SERVER_END_REQ; + return ret; }