This is the mail archive of the mailing list for the pthreas-win32 project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cleaning of memory in pthread_create

pankaj bathwal wrote:
This is regarding freeing of resource and cleaning of
memory allocated when "pthread_create" is called.
Most of my memory leaks tool says 'memory leak of 120
bytes allocated by calloc in "ptw32_new.c"'.
Is there any call that will free memory and resources?
Or there is some other way?
Hi Pankaj,

In your code below you have the comment about pthread_join(). Can you elaborate?

All threads are joinable by default, so your thread's struct won't be freed unless you either join the thread, or make the thread detached before it exits.

See the PTHREAD_CREATE_DETACHED attribute and the pthread_attr_setdetachstate() function.




This is my sample code.

static int washere = 0;

void * func(void * arg)
washere = 1;
std::cout<<"Inside The THREAD "<<std::endl;
return 0; }
int main()
pthread_t t;

assert(pthread_create(&t, NULL, func, NULL) == 0);

/* A dirty hack, but we cannot rely on pthread_join
in this
primitive test. */
assert(washere == 1);
std::cout<<"Out side the THREAD "<<std::endl;
return 0;

Yahoo! - We Remember
9-11: A tribute to the more than 3,000 lives lost

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]