И снова нужна консультация друзей-линуксоидов!

Jul 31, 2011 21:41

Стоит задача прерывать connect по сигналу SIGALRM. Из-за того, что по крайней мере в родной бубунте флаг SA_RESTART для этого сигнала установлен, вроде как надо делать так:
struct sigaction sa, sa_old;
sa.sa_handler = timer_alarm;
sigemptyset(&sa.sa_mask);
sa.sa_flags = 0;
и только после этого:
if (sigaction(SIGALRM, &sa, &sa_old) == -1) return 2;
//дальше запускаем таймер и начинаем connect()...

Внимание, вопрос: при запуске такой конструкции из самостоятельного приложения коннект прерывается как надо. Но когда то же самое делаю в .so, то коннект не прерывается... Почему?

вопрос, программирование

Previous post Next post
Up