The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"clone() и malloc()"
Версия для распечатки Пред. тема | След. тема
Форум Программирование под UNIX
Исходное сообщение [ Отслеживать ]

. "clone() и malloc()" +/
Сообщение от me (??), 11-Янв-12, 23:11 
>[оверквотинг удален]
>>> подумал. Но тот же pthread_create тоже использует CLONE_VM и проблем никаких.
>> так вы-ж его не иначе с -pthread собираете? :)
>>> Да и malloc использует внутреннюю блокировку, что бы быть thread-safe,
>> без флага pthread? или с флагом но без pthread_create? серьезно? :)
> Я собирал и без -pthread и с ней. добавлял -D_REENTRANT - все
> без результатно.
> но... по вашему "намеку" попробовал добавить в код pthread_create(), который создает тред
> и сразу его закрывает. все заработало.
> Очевидно что pthread_create что то проинициализировал. Я смотрел его код, но инициализацией
> связанных с памятью или локами не нашел (кроме стека).

не, я имел ввиду pthread_create для создания потока вместо clone. Вы показали ваш собственный фокус. (весьма занятный, кстати. но я-бы не рассчитывал, что этот код будет работать всегда)

> Спасибо Вам за помощь.

незачто и судя по-тому, что вы хотели clone() "потому что при смерти треда (seg fault) завершается сразу все приложение." - вы еще не пробовали посылать sigsegv ни одному из ваших "работающих" клонов. SIGSEGV, кстати, маскируется и обрабатывается.

> Если возможно, подскажите, что именно инициализирует pthread_create()? что бы не использовать
> его как "хак".

это "хак" и я-бы его не использовал.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
clone() и malloc(), nikolayshm, 11-Янв-12, 13:30  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру