I've tried it on the 0.39-6. It still fails, but not by sigsegv. It just hangs on accept() at some moment (when memory size reaches its limit)
Anyway, here is the bug: ----------src/chm_http.c------------ static void chmhttp_server(const char *filename) { ... pthread_t tid; ... while(1) { ... pthread_create(&tid, NULL, _slave, (void *)slave); } ... } ------------------------------------ threads are not joined. when I inserted pthread_join() just after the thread_create(), the leak disappeared. So to fix it, one should maintain spawned threads and join them as needed. Or, probably, just forget about it and merely call _slave() - I think it is OK for this specific application: data is taken from archive only, and there is no reason for any significant delay. Moreover, I've heard thread creation is rather expensive on Linux, and by quick benchmark I saw that thread-less version works several times faster than threaded (on wget -r). So, I suggest removing the threads. -- Max -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]