Mercurial > hg > nginx
diff src/os/unix/ngx_socket.c @ 59:e8cdc2989cee
nginx-0.0.1-2003-02-06-20:21:13 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 06 Feb 2003 17:21:13 +0000 |
parents | |
children | 738fe44c70d5 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/os/unix/ngx_socket.c Thu Feb 06 17:21:13 2003 +0000 @@ -0,0 +1,26 @@ + +#include <ngx_socket.h> + + +/* 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