LINUX.ORG.RU

Manager thread и exit()


0

0

Доброго времени суток! Помогите разобраться в следующей проблеме. Ядро 2.6.18 и более новые. Есть многопоточное приложение. При завершении иногда "зависает" на exit(). При этом ps сообщает что остались процесс main и процесс manager thread, который становиться zombie Другие потоки нормально завершаются. Причем в главном потоке main для всех порожденных потоков отрабатывает pthread_join() Вот вывод gdb #0 0xb7e72154 in __pthread_sigsuspend () from /lib/libpthread.so.0 #1 0xb7e71808 in __pthread_wait_for_restart_signal () from /lib/libpthread.so.0 #2 0xb7e718ce in pthread_onexit_process () from /lib/libpthread.so.0 #3 0xb7d3aab7 in exit () from /lib/libc.so.6 #4 0x08050ade in die () #5 0x08051e83 in main () Может кто знает как решить проблему?

anonymous

Напиши пожалуйста эксплойт. Без кода не понятно и не воспроизводимо.

Dr_ZLO
()

Manager thread и всякие там __pthread_wait_for_restart_signal - это все из LinuxThreads, тогда как на ядрах 2.6.x повсеместо по умолчанию работает NPTL.

Интересно, каким образом LT может использоваться? Что, используется ядро, обработанное напильником? LD_ASSUME_KERNEL? Ещё что-то?

jek_
()
Ответ на: комментарий от jek_

решилась проблема. не смотря на ядро 2.6.20 у меня linuxthreads-0.10 добавил перед exit() usleep(500000) может это и криво но помогло

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.