Arnett, Don L. schrieb:
I'm new to using pthreadsWin32. According to the TaskMgr display
this program is using about 28K more memory at the second getchar()
than it was at the first getchar(). I found a couple of discussions
of memory leaks in the list archives and it usually was a programmer
problem, but I don't see what I'm missing. Thanks for any input.
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *pvDoSomething(void *poThreadArgs);
int main(int argc, char* argv[]) {
pthread_t *poThread;
getchar();
poThread = (pthread_t*)calloc(1,sizeof(pthread_t));
pthread_create(poThread,NULL,pvDoSomething,NULL);
pthread_detach(*poThread);
free(poThread);
getchar();
return 0;
}
void *pvDoSomething(void *poThreadArgs) {
return NULL;
}
The created thread does not necessarily run and exit immidiately.
It might still exist when you reach the second getchar().