2013-03-23 3 views
0

Группа,Параллельные sctp считываемые потоки и неблокирующий режим

Параллельные считывания из сокета sctp являются потокобезопасными. Стек SCTP, вероятно, использует некоторый примитив синхронизации (например, mutex) для его достижения. Мой вопрос: если (sctp) сокет помещен в неблокирующий режим. Будет ли чтение возвращено, если код sctp не сможет получить блокировку немедленно или он будет блокироваться только при заполнении буферов в сокете.

благодаря

Ittium

ответ

0

Если сокет находится в режиме он должен блокировать, пока мьютекс не будет получен, то делать то, что текущее состояние буфера диктует, что recvmsg() должен делать, а затем вернуться неблокирующая. Поскольку ничто из этого не блокирует, не имеет значения, что мьютекс блокирует на мгновение. Это ничем не отличается от той же ситуации с TCP или UDP. Неблокирующий контракт состоит в том, чтобы не блокировать ожидание данных .