The OpenNET Project / Index page

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



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

. "clone() и malloc()" +/
Сообщение от nikolayshmemail (ok), 11-Янв-12, 21:12 
>[оверквотинг удален]
>>>> Только что скомпилировал код на CentOS 4.4 / 5 / 5.6
>>>> Все версии выдали:
>>>> *** glibc detected *** *** glibc detected *** ./a.out: double free or
>>>> corruption (fasttop): 0x00002af4240008c0 ***
>>> ну это логично вполне, он-же CLONE_VM делает и никак это не лечит.
>> С одной стороны это логично, и это тоже первое о чем я
>> подумал. Но тот же pthread_create тоже использует CLONE_VM и проблем никаких.
> так вы-ж его не иначе с -pthread собираете? :)
>> Да и malloc использует внутреннюю блокировку, что бы быть thread-safe,
> без флага pthread? или с флагом но без pthread_create? серьезно? :)

Я собирал и без -pthread и с ней. добавлял -D_REENTRANT - все без результатно.

но... по вашему "намеку" попробовал добавить в код pthread_create(), который создает тред и сразу его закрывает. все заработало.
Очевидно что pthread_create что то проинициализировал. Я смотрел его код, но инициализацией связанных с памятью или локами не нашел (кроме стека).

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

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

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



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

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