This is the mail archive of the cygwin mailing list for the Cygwin 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] |
Hi All, I have noticed ~100KB usleep() memory leak then compile mine application under Cygwin. On Mac OS X 10.7 Lion it works fine (no leak). I am using Cygwin 1.7.11 version. so, each call of usleep() I can see in Task Manager or Process Explorer about ~100KB of memory are leaked. it is not so problematic, but if I am using thread pool (e.g. 16 threads) it will leak about ~1MB per seconds, and several minutes of running application are enough to waste all available memory ~4GB. it is easy to reproduce. compile the following really simple source code : #include <unistd.h> int main() { for (;;) { usleep(10); } } >g++ main.cpp then run : >./a.exe and observe memory is leaking. to notice more huge memory leak, compile the following simple example simulating thread pool : #include <unistd.h> #include <pthread.h> void * ThreadProc(void *) { for (;;) { usleep(10); } return NULL; } int main() { size_t count = 16; // specify more to see bigger leak! pthread_t id; for (size_t i(0); i < count; ++i) pthread_create(&id, NULL, ThreadProc, NULL); for (;;); return NULL; } > g++ main.cpp and run : > ./a.exe and observe huge and fast leaking memory. and if you comment usleep call, memory leak will disapper. I would be grateful if you could possibly advice something on this issue. P.S. "cygcheck -s -v -r > cygcheck.out" execution log is in attachment I am pleasant to enclose.
Attachment:
cygcheck.out
Description: Binary data
#include <unistd.h> int main() { for (;;) { usleep(10); } }
#include <unistd.h> #include <pthread.h> void * ThreadProc(void *) { for (;;) { usleep(10); } return NULL; } int main() { pthread_t id; for (size_t i(0); i < 16; ++i) pthread_create(&id, NULL, ThreadProc, NULL); for (;;); }
-- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |