mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 17:45:41 +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 )
|
RPC_STATUS WINAPI RpcMgmtWaitServerListen( void )
|
||||||
{
|
{
|
||||||
TRACE("()\n");
|
RpcServerProtseq *cps;
|
||||||
|
|
||||||
EnterCriticalSection(&listen_cs);
|
EnterCriticalSection(&listen_cs);
|
||||||
|
|
||||||
|
@ -1027,10 +1027,18 @@ RPC_STATUS WINAPI RpcMgmtWaitServerListen( void )
|
||||||
LeaveCriticalSection(&listen_cs);
|
LeaveCriticalSection(&listen_cs);
|
||||||
return RPC_S_NOT_LISTENING;
|
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;
|
return RPC_S_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -375,7 +375,7 @@ static int rpcrt4_conn_np_read(RpcConnection *Connection,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
ret = GetOverlappedResult(npc->pipe, &npc->ovl[0], &bytes_read, TRUE);
|
ret = GetOverlappedResult(npc->pipe, &npc->ovl[0], &bytes_read, TRUE);
|
||||||
if (!ret /*&& GetLastError() != ERROR_MORE_DATA*/)
|
if (!ret && GetLastError() != ERROR_MORE_DATA)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
bytes_left -= bytes_read;
|
bytes_left -= bytes_read;
|
||||||
|
@ -400,7 +400,7 @@ static int rpcrt4_conn_np_write(RpcConnection *Connection,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
ret = GetOverlappedResult(npc->pipe, &npc->ovl[1], &bytes_written, TRUE);
|
ret = GetOverlappedResult(npc->pipe, &npc->ovl[1], &bytes_written, TRUE);
|
||||||
if (!ret /*&& GetLastError() != ERROR_MORE_DATA*/)
|
if (!ret && GetLastError() != ERROR_MORE_DATA)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
bytes_left -= bytes_written;
|
bytes_left -= bytes_written;
|
||||||
|
|
|
@ -1,5 +1,40 @@
|
||||||
--- H:\Working Copies\wine\dlls\rpcrt4\rpc_transport.c Sun Jan 06 19:27:38 2008
|
--- rpc_server.c Tue Jan 01 13:09:34 2008
|
||||||
+++ H:\Working Copies\ReactOS\trunk\reactos\dll\win32\rpcrt4\rpc_transport.c Mon Jan 07 16:02:15 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 @@
|
@@ -54,10 +54,13 @@
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_SYS_POLL_H
|
#ifdef HAVE_SYS_POLL_H
|
||||||
|
@ -127,7 +162,7 @@
|
||||||
break;
|
break;
|
||||||
+
|
+
|
||||||
+ ret = GetOverlappedResult(npc->pipe, &npc->ovl[0], &bytes_read, TRUE);
|
+ ret = GetOverlappedResult(npc->pipe, &npc->ovl[0], &bytes_read, TRUE);
|
||||||
+ if (!ret /*&& GetLastError() != ERROR_MORE_DATA*/)
|
+ if (!ret && GetLastError() != ERROR_MORE_DATA)
|
||||||
+ break;
|
+ break;
|
||||||
+
|
+
|
||||||
bytes_left -= bytes_read;
|
bytes_left -= bytes_read;
|
||||||
|
@ -148,7 +183,7 @@
|
||||||
break;
|
break;
|
||||||
+
|
+
|
||||||
+ ret = GetOverlappedResult(npc->pipe, &npc->ovl[1], &bytes_written, TRUE);
|
+ ret = GetOverlappedResult(npc->pipe, &npc->ovl[1], &bytes_written, TRUE);
|
||||||
+ if (!ret /*&& GetLastError() != ERROR_MORE_DATA*/)
|
+ if (!ret && GetLastError() != ERROR_MORE_DATA)
|
||||||
+ break;
|
+ break;
|
||||||
+
|
+
|
||||||
bytes_left -= bytes_written;
|
bytes_left -= bytes_written;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue