LINUX.ORG.RU

threads & read??


0

0
как из одного треда разбудить другой, ну типа он там на read() сидит и вдруг понадобился мне...
anonymous
типа нада задавать маску сигналов нитке,

и посылать ему сигналы наверно...

binr ★★
()
tkill(), tgkill() в 2.6 / ntpl. kill в 2.4.

По идее, pthread_kill() сама должна знать, чего делать.

idle ★★★★★
()
Ответ на: комментарий от idle
сам придумал такую штуку: создаем пайп, тред висит на поле/селекте, со своим дескриптором и пайпом, ну и типа wakeup, когда мы из другого треда пишем в этот пайп.
anonymous
()

pthread_kill - самое правильное

зачем тебе лишние дескрипторы плодить :) sigaction-ом ставишь обработку сигнала, например sigio, и в обработчика сигнала ставишь флаг, что типа был сигнал. когда надо пнуть поток - посылашь ему сигнал. Тогда любая блокирующая функция read/poll/select вывалится скодом возврата < 0 и errno == EINTR И не надо создавать никаких пайпов :) Олег
anonymous
()
Ты, что пишешь то нах тебе пайп для thread-ов у них же вся память общая читай про p_thread_mutex_t & p_thread_cond_t, там все просто...
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.