как заставить sleep спать, fa, 15-Ноя-07, 21:40 [смотреть все]Всем привет. В си я новичек. Не пинайте если глупый вопрос. Вызываю в потоке sleep(10) (linux, pthreads). Вместо того, чтобы спать 10 сек. он возвращает 10. В мане написано, что это из-за того что поступил сигнал. Собственно, вопрос, как заставить sleep этот сигнал проигнорировать и продолжать исполнять свой долг, то есть спать. Заранее спасибо
|
- как заставить sleep спать, stolik, 01:24 , 16-Ноя-07 (1)
если причиной всему и впрямь являются сигнал(ы) то можно блокировать участок кода от сигнала. В нити это делает функция pthread_sigmask() Если программа однопотоковая, т.е. без нитей, то такую же функцию выполняет sigprocmask(). В man все подробненько есть.
- как заставить sleep спать, NuclearCat, 10:51 , 16-Ноя-07 (2)
>если причиной всему и впрямь являются сигнал(ы) то можно блокировать участок кода >от сигнала. В нити это делает функция pthread_sigmask() Если программа однопотоковая, >т.е. без нитей, то такую же функцию выполняет sigprocmask(). В man >все подробненько есть. Или использовать usleep
- как заставить sleep спать, fa, 14:00 , 16-Ноя-07 (3)
Болтшое спасибо за ответы. pthread_sigmask помог. usleep так же реагирует на сигналы как и sleep
- как заставить sleep спать, Michelnok, 17:47 , 16-Ноя-07 (4)
>Собственно, вопрос, как заставить sleep этот сигнал проигнорироватьА что за сигнал-то хоть? Игнорировать их можно только когда точно знаешь что делаешь...
|