Цитата(firew0rker @ Jul 8 2013, 15:08)

В дочернем потоке вызвать
pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL);
перед вызовом блокируемой функции.
Тогда дочерний поток может быть завершен с помощью pthread_cancel в любой момент, в т.ч. когда висит на вызове блокируемой функции.
а где освобождить ресуры?