Господа...
Безопасно ли писать из двух потоков в один сокет?
Насколько я знаю, если во время выполнения блокирующего системного вызова (например write) приходит сигнал, прерывающий данный системный вызов, то, если установить параметр сокета SA_RESTART, системный вызов будет перезапущен. Если же этот параметр сокета не установлен, то write вернет количество байт, которое он успел записать.
Так вот вопрос: если у меня вызов write для сокета с флагом SA_RESTART прервется пришедшим сигналом, то есть ли вероятность того, что до того, как система перезапустит его, управление перехватит другой поток, который тоже пишет в этот сокет, и, соответственно, последовательность отсылаемых данных будет нарушена?