Здравствуйте, случилось мне использовать неблокируемые сокеты в linux (epoll, recv, send). В документации к epoll говориться, что при использовании edge-triggered событий (а я использую именно их) читать/писать необходимо до тех пор, пока не получишь ошибку EAGAIN. На сколько я знаю, этот механизм в никсах не thread-safe, а программа многопоточная. Как быть?
почитай man errno. Там всё написано. В частности это: errno is thread-local; setting it in one thread does not affect its value in any other thread.