From 7300977320e04280c13d4d89a279f75af9c5f893 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Thu, 6 Feb 2003 17:21:13 +0000 Subject: nginx-0.0.1-2003-02-06-20:21:13 import --- src/os/unix/ngx_socket.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/os/unix/ngx_socket.c (limited to 'src/os/unix/ngx_socket.c') diff --git a/src/os/unix/ngx_socket.c b/src/os/unix/ngx_socket.c new file mode 100644 index 000000000..d213fa86f --- /dev/null +++ b/src/os/unix/ngx_socket.c @@ -0,0 +1,26 @@ + +#include + + +/* ioctl(FIONBIO) set blocking mode with one syscall only while + fcntl(F_SETFL, ~O_NONBLOCK) need to know previous state + using fcntl(F_GETFL). + On FreeBSD both are syscall */ + +#ifdef __FreeBSD__ + +int ngx_nonblocking(ngx_socket_t s) +{ + unsigned long nb = 1; + + return ioctl(s, FIONBIO, &nb); +} + +int ngx_blocking(ngx_socket_t s) +{ + unsigned long nb = 0; + + return ioctl(s, FIONBIO, &nb); +} + +#endif -- cgit v1.2.3