From 81e1564a7d6097164ff914eb7e341f9fca42f1df Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Thu, 9 Feb 2012 16:13:56 -0800 Subject: rt: Detach pthreads before exiting Joinable pthreads need to be either joined or detached and we no longer join with the scheduler threads. --- src/rt/sync/rust_thread.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/rt/sync/rust_thread.cpp') diff --git a/src/rt/sync/rust_thread.cpp b/src/rt/sync/rust_thread.cpp index 49daaa5c96d..3c54fdcf3f4 100644 --- a/src/rt/sync/rust_thread.cpp +++ b/src/rt/sync/rust_thread.cpp @@ -4,6 +4,9 @@ rust_thread::rust_thread() : thread(0) { } +rust_thread::~rust_thread() { +} + #if defined(__WIN32__) static DWORD WINAPI #elif defined(__GNUC__) @@ -41,3 +44,12 @@ rust_thread::join() { #endif thread = 0; } + +void +rust_thread::detach() { +#if !defined(__WIN32__) + // Don't leak pthread resources. + // http://crosstantine.blogspot.com/2010/01/pthreadcreate-memory-leak.html + pthread_detach(thread); +#endif +} -- cgit 1.4.1-3-g733a5