mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 17:56:06 +00:00
- Merge leftovers.
svn path=/trunk/; revision=31721
This commit is contained in:
parent
139211de9f
commit
9d5c828c5a
3 changed files with 53 additions and 10 deletions
|
@ -1019,7 +1019,7 @@ RPC_STATUS WINAPI RpcServerListen( UINT MinimumCallThreads, UINT MaxCalls, UINT
|
|||
*/
|
||||
RPC_STATUS WINAPI RpcMgmtWaitServerListen( void )
|
||||
{
|
||||
TRACE("()\n");
|
||||
RpcServerProtseq *cps;
|
||||
|
||||
EnterCriticalSection(&listen_cs);
|
||||
|
||||
|
@ -1027,10 +1027,18 @@ RPC_STATUS WINAPI RpcMgmtWaitServerListen( void )
|
|||
LeaveCriticalSection(&listen_cs);
|
||||
return RPC_S_NOT_LISTENING;
|
||||
}
|
||||
|
||||
LeaveCriticalSection(&listen_cs);
|
||||
|
||||
FIXME("not waiting for server calls to finish\n");
|
||||
do
|
||||
{
|
||||
LeaveCriticalSection(&listen_cs);
|
||||
|
||||
LIST_FOR_EACH_ENTRY(cps, &protseqs, RpcServerProtseq, entry)
|
||||
WaitForSingleObject(cps->server_ready_event, INFINITE);
|
||||
|
||||
EnterCriticalSection(&listen_cs);
|
||||
} while (!std_listen);
|
||||
|
||||
LeaveCriticalSection(&listen_cs);
|
||||
|
||||
return RPC_S_OK;
|
||||
}
|
||||
|
|
|
@ -375,7 +375,7 @@ static int rpcrt4_conn_np_read(RpcConnection *Connection,
|
|||
break;
|
||||
|
||||
ret = GetOverlappedResult(npc->pipe, &npc->ovl[0], &bytes_read, TRUE);
|
||||
if (!ret /*&& GetLastError() != ERROR_MORE_DATA*/)
|
||||
if (!ret && GetLastError() != ERROR_MORE_DATA)
|
||||
break;
|
||||
|
||||
bytes_left -= bytes_read;
|
||||
|
@ -400,7 +400,7 @@ static int rpcrt4_conn_np_write(RpcConnection *Connection,
|
|||
break;
|
||||
|
||||
ret = GetOverlappedResult(npc->pipe, &npc->ovl[1], &bytes_written, TRUE);
|
||||
if (!ret /*&& GetLastError() != ERROR_MORE_DATA*/)
|
||||
if (!ret && GetLastError() != ERROR_MORE_DATA)
|
||||
break;
|
||||
|
||||
bytes_left -= bytes_written;
|
||||
|
|
|
@ -1,5 +1,40 @@
|
|||
--- H:\Working Copies\wine\dlls\rpcrt4\rpc_transport.c Sun Jan 06 19:27:38 2008
|
||||
+++ H:\Working Copies\ReactOS\trunk\reactos\dll\win32\rpcrt4\rpc_transport.c Mon Jan 07 16:02:15 2008
|
||||
--- rpc_server.c Tue Jan 01 13:09:34 2008
|
||||
+++ rpc_server.c Fri Jan 11 15:58:57 2008
|
||||
@@ -1017,22 +1017,30 @@
|
||||
/***********************************************************************
|
||||
* RpcMgmtServerWaitListen (RPCRT4.@)
|
||||
*/
|
||||
RPC_STATUS WINAPI RpcMgmtWaitServerListen( void )
|
||||
{
|
||||
- TRACE("()\n");
|
||||
+ RpcServerProtseq *cps;
|
||||
|
||||
EnterCriticalSection(&listen_cs);
|
||||
|
||||
if (!std_listen) {
|
||||
LeaveCriticalSection(&listen_cs);
|
||||
return RPC_S_NOT_LISTENING;
|
||||
}
|
||||
|
||||
+ do
|
||||
+ {
|
||||
LeaveCriticalSection(&listen_cs);
|
||||
|
||||
- FIXME("not waiting for server calls to finish\n");
|
||||
+ LIST_FOR_EACH_ENTRY(cps, &protseqs, RpcServerProtseq, entry)
|
||||
+ WaitForSingleObject(cps->server_ready_event, INFINITE);
|
||||
+
|
||||
+ EnterCriticalSection(&listen_cs);
|
||||
+ } while (!std_listen);
|
||||
+
|
||||
+ LeaveCriticalSection(&listen_cs);
|
||||
|
||||
return RPC_S_OK;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
--- rpc_transport.c Sun Jan 06 19:27:38 2008
|
||||
+++ rpc_transport.c Fri Jan 11 15:59:32 2008
|
||||
@@ -54,10 +54,13 @@
|
||||
#endif
|
||||
#ifdef HAVE_SYS_POLL_H
|
||||
|
@ -127,7 +162,7 @@
|
|||
break;
|
||||
+
|
||||
+ ret = GetOverlappedResult(npc->pipe, &npc->ovl[0], &bytes_read, TRUE);
|
||||
+ if (!ret /*&& GetLastError() != ERROR_MORE_DATA*/)
|
||||
+ if (!ret && GetLastError() != ERROR_MORE_DATA)
|
||||
+ break;
|
||||
+
|
||||
bytes_left -= bytes_read;
|
||||
|
@ -148,7 +183,7 @@
|
|||
break;
|
||||
+
|
||||
+ ret = GetOverlappedResult(npc->pipe, &npc->ovl[1], &bytes_written, TRUE);
|
||||
+ if (!ret /*&& GetLastError() != ERROR_MORE_DATA*/)
|
||||
+ if (!ret && GetLastError() != ERROR_MORE_DATA)
|
||||
+ break;
|
||||
+
|
||||
bytes_left -= bytes_written;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue