реклама на сайте
подробности

 
 
> uClinux. Потоки. Почему когда убиваю родителя, потомки тоже пропадают?
RCray
сообщение May 26 2008, 08:05
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 170
Регистрация: 14-09-05
Из: Suwon
Пользователь №: 8 548



В родительском потоке создаю поток предка. Убиваю родителя (kill PID), потомок тоже умирает.
Мне нужно знать почему потомки не продолжают работать?

Чтобы память освобождалась, делаю потомку detach.

Т.е. всё работает как надо, но объяснить не могу.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Harbour
сообщение May 26 2008, 13:24
Сообщение #2


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



похоже что сигнал (от kill) посылается и потомку - перхватывать SIGTERM/SIGINT в потомке не пробовали ?
Go to the top of the page
 
+Quote Post
RCray
сообщение May 28 2008, 15:30
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 170
Регистрация: 14-09-05
Из: Suwon
Пользователь №: 8 548



Цитата(Harbour @ May 26 2008, 17:24) *
похоже что сигнал (от kill) посылается и потомку - перхватывать SIGTERM/SIGINT в потомке не пробовали ?


может быть.
не стал разбираться, сделал всё по чесноку - убиенный родитель (kill -15 PID)
делает pthread_cancel всем потомкам. потомки в свою очередь detach'ены.
родитель дожидается от каждого самописный my_pthread_join.
тем самым ресурсы при любом раскладе (потомки завершаются штатно или принудительно) остаются в полном порядке.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 08:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01346 секунд с 7
ELECTRONIX ©2004-2016