LINUX.ORG.RU

recv manual


0

0

Я тут случайно почитал про recv в gnu libс manual http://www.gnu.org/software/libc/manual/html_node/Receiving-Data.html#Receivi...

Натолкнувшись вот на этот абзац

== This function is defined as a cancellation point in multi-threaded programs, so one has to be prepared for this and make sure that allocated resources (like memory, files descriptors, semaphores or whatever) are freed even if the thread is canceled. ==

много думал, но ни к чему не пришел. Прошу помощи клуба.

anonymous

А что тут непонятного? Синхронные потоки выходят только at cancellation point, этими CP могут быть разные системные/библиотечные вызовы. recv, судя по всему, одна из CP. Поэтому, ты должен это учитывать когда пишешь многопоточную программу.

logIN
()
Ответ на: комментарий от logIN

>А что тут непонятного?

Для меня так почти все непонятно ;) Я был совершенно не в курсе науки про thread cancellation: thread'ами пользовался довольно ограниченно, они у меня всегда умирали по собственной воли или какому-нибудь намеку снаружи, и использовали С++ные методы для очистки своих ресурсов.

Частичное просветление наступило после прочтения

http://users.actcom.co.il/~choo/lupg/tutorials/multi-thread/multi-thread.html...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.