mirror of
https://github.com/nginx/nginx.git
synced 2024-12-16 06:09:00 +08:00
27 lines
442 B
C
27 lines
442 B
C
|
|
||
|
#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
|