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.h19
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()"