Всем привет!
У меня возникла проблема.
При каждом вызове 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() из любого места программы одинаковыми порциями.
В чем тут может быть дело?
Заранее спасибо.
man pthread_attr_setdetachstate
man pthread_detach
man pthread_join
в самой программе - pthread_create не может есть память...ну на 98%