From 39d22e569394e7ddd27a3806dab9d0fc6032e13d Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Sat, 2 Nov 2002 19:55:21 +0000 Subject: Use O_NONBLOCK rather than O_NDELAY, so we get POSIX non-blocking I/O. On HPUX, Solaris, Tru64 (Dec UNIX), and IRIX (I think), O_NONBLOCK is the POSIX version of non-blocking I/O which is what we want. On Linux and FreeBSD (at least), O_NONBLOCK and O_NDELAY are the same. So this change should have no negative effect on those platforms. Tested on Linux, Solaris, HPUX. Thanks to Anders Qvist for diagnosing this problem. --- Modules/socketmodule.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index bdeddea..2afa697 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -211,8 +211,8 @@ int h_errno; /* not used */ # define offsetof(type, member) ((size_t)(&((type *)0)->member)) #endif -#ifndef O_NDELAY -# define O_NDELAY O_NONBLOCK /* For QNX only? */ +#ifndef O_NONBLOCK +# define O_NONBLOCK O_NDELAY #endif #include "addrinfo.h" @@ -488,9 +488,9 @@ internal_setblocking(PySocketSockObject *s, int block) #else /* !PYOS_OS2 */ delay_flag = fcntl(s->sock_fd, F_GETFL, 0); if (block) - delay_flag &= (~O_NDELAY); + delay_flag &= (~O_NONBLOCK); else - delay_flag |= O_NDELAY; + delay_flag |= O_NONBLOCK; fcntl(s->sock_fd, F_SETFL, delay_flag); #endif /* !PYOS_OS2 */ #else /* MS_WINDOWS */ -- cgit v0.12