Я считал этот относительно установки сокета к не блокирующемуся режиму.
http://www.gnu.org/software/libc/manual/html_mono/libc.html#File-Status-Flags
Вот то, что я сделал:
static void setnonblocking(int sock)
{
int opts;
opts = fcntl(sock,F_GETFL);
if (opts < 0) {
perror("fcntl(F_GETFL)");
exit(EXIT_FAILURE);
}
opts = (opts | O_NONBLOCK);
if (fcntl(sock,F_SETFL,opts) < 0) {
perror("fcntl(F_SETFL)");
exit(EXIT_FAILURE);
}
return;
}
Как я могу задержать сокет к режиму Blocking? Я не вижу флаг O_BLOCK?
Спасибо.
Вы пытались очистить флаг O_NONBLOCK?
opts = opts & (~O_NONBLOCK)
Альтернативный способ очистить флаг:
opts ^= O_NONBLOCK;
Это Переключите неблокирующий флаг, то есть отключите неблокирующие, если в данный момент включен.