From: Adam Dickmeiss Date: Fri, 12 Oct 2001 21:49:26 +0000 (+0000) Subject: For accept/recv/send check for EAGAIN if it's differs from EWOULDBLOCK. X-Git-Tag: YAZ.1.8~27 X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=commitdiff_plain;h=38d5a1c71a407c5e60c1bc650ed4edeae88a2efa For accept/recv/send check for EAGAIN if it's differs from EWOULDBLOCK. --- diff --git a/CHANGELOG b/CHANGELOG index 136fe86..309be45 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,7 @@ Possible compatibility problems with earlier versions marked with '*'. +Fixed COMSTACK error that occurred on HPUX. Fix by Giannis Kosmas. + Configure detects POSIX threads on OpenBSD. When sort flag 'i' was specified in yaz-client the caseSensitivy flag diff --git a/comstack/tcpip.c b/comstack/tcpip.c index 4c9b481..9347e04 100644 --- a/comstack/tcpip.c +++ b/comstack/tcpip.c @@ -3,7 +3,10 @@ * See the file LICENSE for details. * * $Log: tcpip.c,v $ - * Revision 1.40 2001-08-23 09:02:46 adam + * Revision 1.41 2001-10-12 21:49:26 adam + * For accept/recv/send check for EAGAIN if it's differs from EWOULDBLOCK. + * + * Revision 1.40 2001/08/23 09:02:46 adam * WIN32 fixes: Socket not re-used for bind. yaz_log logs WIN32 error * message. * @@ -653,7 +656,12 @@ int tcpip_listen(COMSTACK h, char *raddr, int *addrlen, #ifdef WIN32 WSAGetLastError() == WSAEWOULDBLOCK #else - errno == EWOULDBLOCK + errno == EWOULDBLOCK +#ifdef EAGAIN +#if EAGAIN != EWOULDBLOCK + || errno == EAGAIN +#endif +#endif #endif ) h->cerrno = CSNODATA; @@ -853,10 +861,13 @@ int tcpip_get(COMSTACK h, char **buf, int *bufsize) else return -1; #else - if (errno == EWOULDBLOCK -#ifdef EINPROGRESS - || errno == EINPROGRESS + if (errno == EWOULDBLOCK +#ifdef EAGAIN +#if EAGAIN != EWOULDBLOCK + || errno == EAGAIN #endif +#endif + || errno == EINPROGRESS ) { h->io_pending = CS_WANT_READ; @@ -1016,7 +1027,12 @@ int tcpip_put(COMSTACK h, char *buf, int size) #ifdef WIN32 WSAGetLastError() == WSAEWOULDBLOCK #else - errno == EAGAIN + errno == EWOULDBLOCK +#ifdef EAGAIN +#if EAGAIN != EWOULDBLOCK + || errno == EAGAIN +#endif +#endif #endif ) {