[Gc] GC_thread_exit_proc isn't called with pthread_exit() on Ubuntu/i386

Petter Urkedal urkedal at nbi.dk
Mon Nov 9 23:59:14 PST 2009

On 2009-11-03, Shiro Kawai wrote:
> This could be a glibc problem but I couldn't reproduce it without
> libgc, so I post here to see if anybody else has similar experience.
> On i386 machine with glibc-2.7 that comes with Ubuntu 8.10,
> GC_thread_exit_proc is never called when the thread is terminated
> by pthread_exit() or cancelled by pthread_cancel().
> Curiously, other cleanup procedures I set with pthread_cleanup_push
> within the thread function are called.
> The situation can be exhibited with the attached two files, with
> GC CVS HEAD.  I'll explain the way in details below.

If you haven't tried it, you could call GC_pthread_create directly to
see if the problem is with the redirection of pthread functions.  I
can't reproduce the problem, but I'm on glibc-2.9.

More information about the Gc mailing list