Господа...
Безопасно ли писать из двух потоков в один сокет?
Насколько я знаю, если во время выполнения блокирующего системного вызова (например write) приходит сигнал, прерывающий данный системный вызов, то, если установить параметр сокета SA_RESTART, системный вызов будет перезапущен. Если же этот параметр сокета не установлен, то write вернет количество байт, которое он успел записать.
Так вот вопрос: если у меня вызов write для сокета с флагом SA_RESTART прервется пришедшим сигналом, то есть ли вероятность того, что до того, как система перезапустит его, управление перехватит другой поток, который тоже пишет в этот сокет, и, соответственно, последовательность отсылаемых данных будет нарушена?
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от Die-Hard
Ответ на:
комментарий
от no-dashi
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Проблема с alarm (2006)
- Форум ESMTP, чтение-запись из сокета (2009)
- Форум blocking / non-blocking calls (2018)
- Форум Расскажите в деталях как пользоваться неблокирующими сокетами (2017)
- Форум Может ли функция signal handler вызываться ЕЩЁ РАЗ во время того, как она уже выполняется? (2012)
- Форум Блокируемый сокет и несколько потоков (2005)
- Форум Одновременная запись в несколько сокетов (2012)
- Форум Реализация очередей и не только (2016)
- Форум Quiz для профф. Pay attention, please. (2023)
- Форум Запись потока (2011)