Rob Shearman : rpcrt4: Return an error from rpcrt4_conn_tcp_read if recv returns 0.

Alexandre Julliard julliard at winehq.org
Mon Dec 17 06:42:10 CST 2007


Module: wine
Branch: master
Commit: 2bda19c6b00b60074e194437b9fa03b21d6e51da
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=2bda19c6b00b60074e194437b9fa03b21d6e51da

Author: Rob Shearman <rob at codeweavers.com>
Date:   Sun Dec 16 12:07:01 2007 +0000

rpcrt4: Return an error from rpcrt4_conn_tcp_read if recv returns 0.

---

 dlls/rpcrt4/rpc_transport.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/dlls/rpcrt4/rpc_transport.c b/dlls/rpcrt4/rpc_transport.c
index e4d12c3..1a78a9d 100644
--- a/dlls/rpcrt4/rpc_transport.c
+++ b/dlls/rpcrt4/rpc_transport.c
@@ -967,10 +967,15 @@ static int rpcrt4_conn_tcp_read(RpcConnection *Connection,
   do
   {
     int r = recv(tcpc->sock, (char *)buffer + bytes_read, count - bytes_read, 0);
-    if (r >= 0)
+    if (!r)
+      return -1;
+    else if (r > 0)
       bytes_read += r;
     else if (errno != EAGAIN)
+    {
+      WARN("recv() failed: %s\n", strerror(errno));
       return -1;
+    }
     else
     {
       struct pollfd pfds[2];




More information about the wine-cvs mailing list