aboutsummaryrefslogtreecommitdiff
path: root/src/os/unix/ngx_socket.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/os/unix/ngx_socket.h')
-rw-r--r--src/os/unix/ngx_socket.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/os/unix/ngx_socket.h b/src/os/unix/ngx_socket.h
index b381967e6..9e6a859bb 100644
--- a/src/os/unix/ngx_socket.h
+++ b/src/os/unix/ngx_socket.h
@@ -29,9 +29,12 @@ int ngx_blocking(ngx_socket_t s);
#else
-#define ngx_nonblocking(s) fcntl(s, F_SETFL, O_NONBLOCK)
+#define ngx_nonblocking(s) fcntl(s, F_SETFL, fcntl(s, F_GETFL) | O_NONBLOCK)
#define ngx_nonblocking_n "fcntl(O_NONBLOCK)"
+#define ngx_blocking(s) fcntl(s, F_SETFL, fcntl(s, F_GETFL) & ~O_NONBLOCK)
+#define ngx_blocking_n "fcntl(!O_NONBLOCK)"
+
#endif
int ngx_tcp_nopush(ngx_socket_t s);