iliya
написал 21 декабря 2004 года в 09:54 (1005 просмотров)
Ведет себя
как мужчина; открыл 13 тем в форуме, оставил 196 комментариев на сайте.
Какие атрибуты надо установить при создание pthread_create, чтоб он мог работать со своими сигналами
чтоб при вызове signal(…,…) он установил свой обработчик ,а не общий для всех.
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Имхо, сии вещи суть независимы. Используй стандартные обработчики сигналов внутри нитей, никаких атрибутов не надо. А в чем проблема?
Good Luck,
UT
Очень просто например если приходит сигнал то он обрабатывается всеми потоками и вызов signal устанавливает обработчик тоже для всех потоков.
М-м-м-м… Я тут поковырялся, вроде все путем… Смотри:
На одном терминале я теперь запускаю sigg
А на другом посылаю killall -14 sigg
Так вот, результат
Oh, my gosh! 14
Got a signal 14 so what?
Oh, my gosh! 14
вполне соотвествует ожиданиям… Если, правда, убрать sleep(1), то сигнал будет три раза захватываться одной и той же нитью, равновероятно какой. Не в этом ли была твоя проблема?
Good Luck,
UT