diff options
Diffstat (limited to 'src/os/unix/ngx_socket.h')
-rw-r--r-- | src/os/unix/ngx_socket.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/os/unix/ngx_socket.h b/src/os/unix/ngx_socket.h index b4be76240..937c12d9a 100644 --- a/src/os/unix/ngx_socket.h +++ b/src/os/unix/ngx_socket.h @@ -4,6 +4,11 @@ #include <ngx_config.h> +#ifdef __FreeBSD__ +#include <sys/ioctl.h> +#endif + + #define NGX_WRITE_SHUTDOWN SHUT_WR typedef int ngx_socket_t; @@ -11,9 +16,23 @@ typedef int ngx_socket_t; #define ngx_socket(af, type, proto, flags) socket(af, type, proto) #define ngx_socket_n "socket()" + +#ifdef __FreeBSD__ + +int ngx_nonblocking(ngx_socket_t s); +int ngx_blocking(ngx_socket_t s); + +#define ngx_nonblocking_n "ioctl(FIONBIO)" +#define ngx_blocking_n "ioctl(!FIONBIO)" + +#else + #define ngx_nonblocking(s) fcntl(s, F_SETFL, O_NONBLOCK) #define ngx_nonblocking_n "fcntl(O_NONBLOCK)" +#endif + + #define ngx_shutdown_socket shutdown #define ngx_shutdown_socket_n "shutdown()" |