Intereting Posts
fscanf help: как проверить форматирование Можно ли использовать в DLL внешнюю функцию, предоставляемую основным приложением, вместо экспорта функций DLL в приложение? C Макросы печати отладки Аргумент Linux Pthread Неопределенная ссылка на «pow», хотя -lm является флагом компиляции. Трубы Unix – трубопровод между тремя процессами Что блокирует установку драйвера в Windows? codechef: ошибка неправильного ответа в smallfactorial «Адрес» (&) – массив / адрес игнорирования gcc? Как использовать MPI_Gatherv для сбора строк различной длины из разных процессоров, включая главный узел? InitializeCriticalSectionAndSpinCount оптимальный SpinCount (пользовательский режим) Как печатать миллисекунды в C? найти палиндром, не работает с fgets Ошибка компилятора при инициализации массива символов фиксированного размера без достаточного количества нулевого ограничителя Скажите gcc, что вызов функции не вернется

Является ли epoll поточно-безопасным?

В epoll есть две функции:

  1. epoll_ctl
  2. epoll_wait

Являются ли они streamобезопасными, когда я использую тот же epoll_fd?
Что произойдет, если один stream вызовет epoll_wait, а другие вызовет epoll_ctl в одно и то же время?

    Это streamобезопасно, но документации не так много, что явно указано, что – см. http://linux.derkeiler.com/Mailing-Lists/Kernel/2006-03/msg00084.html

    Кстати, вы можете также иметь несколько streamов, ожидающих одного epoll_fd, но в этом случае он может немного запутаться (т. Е. Вы можете использовать режим с красным (EPOLLET) или onehot (EPOLLONESHOT) – см. Http: // linux .die.net / man / 2 / epoll_ctl )