From 41862fd92288c55a3d9ba124c7b5f59ee7dcaaa1 Mon Sep 17 00:00:00 2001 From: Christoph von Wittich Date: Fri, 18 Jan 2008 10:09:21 +0000 Subject: [PATCH] Rob Shearman : rpcrt4: Improve error handling in RPCRT4_io_thread and remove commented-out code. svn path=/trunk/; revision=31850 --- reactos/dll/win32/rpcrt4/rpc_server.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/reactos/dll/win32/rpcrt4/rpc_server.c b/reactos/dll/win32/rpcrt4/rpc_server.c index 02d13988e24..c5c780e5dad 100644 --- a/reactos/dll/win32/rpcrt4/rpc_server.c +++ b/reactos/dll/win32/rpcrt4/rpc_server.c @@ -374,15 +374,17 @@ static DWORD CALLBACK RPCRT4_io_thread(LPVOID the_arg) break; } -#if 0 - RPCRT4_process_packet(conn, hdr, msg); -#else packet = HeapAlloc(GetProcessHeap(), 0, sizeof(RpcPacket)); + if (!packet) + break; packet->conn = conn; packet->hdr = hdr; packet->msg = msg; - QueueUserWorkItem(RPCRT4_worker_thread, packet, WT_EXECUTELONGFUNCTION); -#endif + if (!QueueUserWorkItem(RPCRT4_worker_thread, packet, WT_EXECUTELONGFUNCTION)) { + ERR("couldn't queue work item for worker thread, error was %d\n", GetLastError()); + HeapFree(GetProcessHeap(), 0, packet); + break; + } msg = NULL; } RPCRT4_DestroyConnection(conn);