Mike Kaplinskiy : server: Propagate error from recv.
Alexandre Julliard
julliard at winehq.org
Tue Jul 20 11:20:32 CDT 2010
Module: wine
Branch: master
Commit: 394a142237795d0823dd73677026be0b0ee502b3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=394a142237795d0823dd73677026be0b0ee502b3
Author: Mike Kaplinskiy <mike.kaplinskiy at gmail.com>
Date: Sat Jul 17 22:06:53 2010 -0400
server: Propagate error from recv.
---
server/sock.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/server/sock.c b/server/sock.c
index 5d48c2d..87628da 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -419,16 +419,17 @@ static void sock_poll_event( struct fd *fd, int event )
call and the invocation of this routine */
if ( errno != EAGAIN )
{
+ error = errno;
+ event |= POLLERR;
if ( debug_level )
fprintf( stderr, "recv error on socket %p: %d\n", sock, errno );
- event |= POLLERR;
}
}
}
if ( (hangup_seen || event & (POLLHUP|POLLERR)) && (sock->state & (FD_READ|FD_WRITE)) )
{
- error = sock_error( fd );
+ error = error ? error : sock_error( fd );
if ( (event & POLLERR) || ( sock_shutdown_type == SOCK_SHUTDOWN_EOF && (event & POLLHUP) ))
sock->state &= ~FD_WRITE;
sock->state &= ~FD_READ;
More information about the wine-cvs
mailing list