Как прервать фред-вызов?

У меня следующая ситуация:

Существует поток, который читает с устройства с вызовом Fread. Этот вызов блокируется, пока данные не отправляются с устройства. Когда я останавливаю эту тему, она остается внутри этой темы.

Теперь я обнаружил следующее на странице справки fread:

ОШИБКИ

Во всех системах, которые соответствуют спецификации Single UNIX, функция fread () устанавливает значение errno, как указано для следующих условий:

[EINTR] Операция чтения была прервана из-за получения сигнала, и данные не были переданы.

Это будет означать, что есть способ прервать вызов из другого потока. Но я понятия не имею, как. Может кто-нибудь сказать мне, как отправить сигнал, чтобы прервать вызов Fread? И какой сигнал мне нужно отправить?

Обновление 08-10-10 09:25

Я до сих пор не получил его на работу. Я пробовал kill () и pthread_kill () с разными сигналами. Но ничто, кажется, не прерывает вызов fread (). Единственное, что я получил, - это убить все приложение, но это не то, чего я хочу.

Ответы на вопрос(6)

Ваш ответ на вопрос