Как сбросить уже установленный флаг с помощью fcntl?
Например, Я могу установить сокет в неблокирующий режим, используя
fcntl(sockfd, F_SETFL, flags | O_NONBLOCK)
Теперь я хочу снять флаг O_NONBLOCK.
Я попробовал fcntl(sockfd, F_SETFL, флаги | ~O_NONBLOCK). Это дало мне ошибку EINVAL
flags & ~O_NONBLOCK
. т. е. &, а не |. - person Chris Jester-Young   schedule 23.12.2008