есть код
if(rc=select(FD_SETSIZE,&rfds,&wfds,NULL,NULL)<0){
if(rc!=EINTR){
/* Error */
}else{
Сюда попадем,согласно ману, в случае когда
получен какой-то сигнал.
}
}Т.е. по идее можно послать процессу какой-то
сигнал, но я перепробывал все сигналы, ничего не
помогает. Как в таком случае вывести select из
ожидания???ЗЫ: У меня pthreads, может по этому он не хочет
выходить из ожидания.... (точнее select выходит
из ожидания, но только когда приходят данные из
дескрипторов), а вот как его досрочно пробудить?
ну во-первых обработчик сигнала в программе есть ?
а дсорочно его можно пробудить только двумя
способами - послать сигнал и вывалиться по
таймауту (только обрати внимание на то, что в
линуксе select меняет timeout, в отличие от других
юниксов).