我在nginx中看到了这样的代码:
if(fcntl(ngx_processes[s].channel[0], F_SETFL, fcntl(s, F_GETFL) | O_NONBLOCK) == -1) {
...
if (ioctl(ngx_processes[s].channel[0], FIOASYNC, &on) == -1) {
...
有人能告诉我 fcntl(s, F_SETFL, fcntl(s, F_GETFL) | O_NONBLOCK)
和 ioctl(s, FIOASYNC, &on)
之间的区别吗?难道 async
和 nonblocking
不是同样的东西吗?