[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2011-03-31 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 Jonathan Wakely changed: What|Removed |Added CC||arch.jslin at gmail dot com --- Comment

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-15 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 Jonathan Wakely changed: What|Removed |Added Summary|shared_ptr consuming too|resource leaks due to

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-15 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #13 from Paolo Carlini 2010-11-15 18:32:23 UTC --- Thanks a lot Jon for tracking this down! Do you think we can fix it in time for 4.6.0?

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-15 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 Jonathan Wakely changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-15 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #15 from Jonathan Wakely 2010-11-15 21:54:40 UTC --- Butenhof's book says you don't need to destroy a mutex/condvar that was statically initialized, so given the FreeBSD bug I will only define the destructor when the __GTHREAD_XXX_INI

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-15 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #16 from Jonathan Wakely 2010-11-16 00:48:52 UTC --- Created attachment 22413 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22413 add destructors in could you try applying this patch to ext/concurrence.h and let me know if it

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-16 Thread internet at 123gen dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #17 from Zouzou 2010-11-16 08:37:02 UTC --- (In reply to comment #16) > Created attachment 22413 [details] > add destructors in > could you try applying this patch to ext/concurrence.h and let me know if it > works on Windows? I'm t

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-16 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 Jonathan Wakely changed: What|Removed |Added Target Milestone|--- |4.6.0 --- Comment #18 from Jonathan Wak

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-16 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #19 from Paolo Carlini 2010-11-16 10:25:40 UTC --- Jon, sometimes finding a reviewer for those gthr changes takes a bit of time... and we are already in Stage 3... Thus, I would recommend doing our best to figure out first a decent li

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-16 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #20 from Jonathan Wakely 2010-11-16 11:05:44 UTC --- OK, that will be ugly though. The cast from __gthread_recursive_mutex_t* to __gthread_mutex_t* is not correct, because the "sema" member (the actual Win32 handle) is at a different

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-16 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #21 from Paolo Carlini 2010-11-16 11:52:20 UTC --- Argh, I see. I think we should keep the option open, anyway, together with a huge FIXME in the code, of course. I also think we should try to explain the problem to the people actuall

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-16 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #22 from Jonathan Wakely 2010-11-16 12:32:36 UTC --- ... and when using gthr-mipssde.h / gthr-posix95.h / gthr-solaris.h: static inline int __recursive_mutex_destroy(__gthread_recursive_mutex_t* __rmutex) { return ___gthread_mutex_

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-16 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 Jonathan Wakely changed: What|Removed |Added Attachment #22413|0 |1 is obsolete|

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-16 Thread internet at 123gen dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #24 from Zouzou 2010-11-16 22:29:35 UTC --- (In reply to comment #23) > Created attachment 22424 [details] > add destructors in > here's another patch, this one uses SFINAE to select an appropriate overload > based on the type of __g

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-16 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #25 from Jonathan Wakely 2010-11-16 22:36:16 UTC --- (In reply to comment #24) > apparently the 1st overload doesn't match so it falls back to the 3rd one. bah! ok, thanks, back to the drawing board...

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-16 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #26 from Jonathan Wakely 2010-11-16 23:03:08 UTC --- Oops, that patch was broken - could you change the recursive mutex destructor so it calls _S_destroy(&_M_mutex, 0) instead of _S_destroy(&_M_mutex) As I can only test on POSIX syst

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-16 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #27 from Jonathan Wakely 2010-11-16 23:22:24 UTC --- I don't think that's right either ... I need to find a better way to test this

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-16 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 Jonathan Wakely changed: What|Removed |Added Attachment #22424|0 |1 is obsolete|

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-16 Thread internet at 123gen dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #29 from Zouzou 2010-11-17 07:38:39 UTC --- (In reply to comment #28) > Created attachment 22427 [details] > add destructors in > almost the same as the last patch but the destructor calls: > _S_destroy<__gthread_recursive_mutex_t>

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-17 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #30 from Jonathan Wakely 2010-11-17 09:37:37 UTC --- (In reply to comment #29) > because __gthread_mutex_destroy returns void. Argh, why is gthr-win32.h different here?! Nevermind ... > after changing the return types of the _S_des

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-17 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 Jonathan Wakely changed: What|Removed |Added Attachment #22427|0 |1 is obsolete|

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-17 Thread internet at 123gen dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #32 from Zouzou 2010-11-17 22:38:53 UTC --- (In reply to comment #31) > Created attachment 22436 [details] > add destructors in > a simpler version - could you test this on mingw? thanks great, compiles and fixes the resource leaks

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-17 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #33 from Paolo Carlini 2010-11-17 23:55:22 UTC --- If we need __is_same / __are_same, maybe we can just include bits/cpp_type_traits.h: isn't that big (and probably something else includes it anyway in most of the cases)

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-17 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #34 from Jonathan Wakely 2010-11-18 00:29:20 UTC --- (In reply to comment #33) > If we need __is_same / __are_same, maybe we can just include > bits/cpp_type_traits.h aha, thanks for the pointer to are_same, I was going to move __gnu

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-17 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #35 from Jonathan Wakely 2010-11-18 02:45:09 UTC --- patch posted to http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01875.html

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-18 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 --- Comment #36 from Jonathan Wakely 2010-11-18 18:56:34 UTC --- Author: redi Date: Thu Nov 18 18:56:29 2010 New Revision: 166917 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166917 Log: 2010-11-18 Jonathan Wakely PR libstdc++/4

[Bug libstdc++/46455] resource leaks due to missing destructors for mutexes and condvars

2010-11-18 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46455 Jonathan Wakely changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|