Изучение Стивенса во втором издании by Раго навело на такую вот мысль: Хорошо в отдельном потоке я догу дождаться доставки сигнала впри помощи sigwait с нужной маской. Ладно во всех остальных потоках я этот сигнал заблокирую, так что по теории и POSIXу он будет доставляться нужному потоку (да кстати как с этим утверждением в Linux, а то что-то мне подсказывает что хреново). Для того чтобы sigwait отловил сигнал он должен доставляться процессу, то есть его диспозиция не равана SIG_IGN и он по дефолту не игнорится. Если на сигнал повешен обработчик то в зависимости от реализации вызовется либо он (обработчик) либо sigwait вернет управление... Теперь вопрос КАК таким образом (т. е. через sigwait и отдельный поток) поймать сигнал который по дефолту игнорится, ну например SIGCHLD? Причем гарантированно поймать и именно sigwaitом?
ЗЫ: на послкдних ядрах линукса (2.6.25) ps на многопоточное приложение выдает одну строчку, а ведь вроде потоки реализованы как полтоправные процессы через clone(2) почему ps -aux мне их все не показывает или какую там опцию для этого надо указать?