URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7314
[ Назад ]

Исходное сообщение
"Утечка памяти в pthread_create! Срочно!!!"

Отправлено hdg700 , 14-Апр-08 14:47 
Всем привет!
У меня возникла проблема.
При каждом вызове pthread_create() память бесщадно съедается и не освобождается даже после завершения потока..

Без вызова функции ps выдает следующее:
user 5289 0.0 0.0 3000 1120 pts/3 S+ 09:03 0:00 ./prog

С вызовом функции:
user 5682 0.0 0.0 13240 1128 pts/3 Sl+ 09:08 0:00 ./prog


Функция вызывается следующим образом:
pthread_t t;
pthread_attr_t att;
pthread_attr_init(&att);
pthread_attr_setdetachstate(&att, PTHREAD_CREATE_DETACHED);
pthread_create(&t, &att, thread, NULL);        
pthread_attr_destroy(&att);

Функция void *thread(void* param) не выполняет ничего. Сразу завершается.
В общем, я уверен, что утечка происходит при вызове pthread_create().

Пямять утекает при каждом выхове pthread_create() из любого места программы одинаковыми порциями.

В чем тут может быть дело?
Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Утечка памяти в pthread_create! Срочно!!!"
Отправлено DeadMustdie , 14-Апр-08 22:50 
man pthread_attr_setdetachstate
man pthread_detach
man pthread_join

"Утечка памяти в pthread_create! Срочно!!!"
Отправлено Maxx , 18-Апр-08 11:35 
в самой программе - pthread_create не может есть память...ну на 98%