* thread.cc (pthread::exit): Cleanup on thread exit.
(__reent_t::init_clib): Set thread local clib __cleanup var appropriately.
This commit is contained in:
parent
030441fc69
commit
068834a10f
|
@ -1,3 +1,10 @@
|
|||
2003-11-11 Christopher Faylor <cgf@redhat.com>
|
||||
Thomas Pfaff <tpfaff@gmx.net>
|
||||
|
||||
* thread.cc (pthread::exit): Cleanup on thread exit.
|
||||
(__reent_t::init_clib): Set thread local clib __cleanup var
|
||||
appropriately.
|
||||
|
||||
2003-11-10 Christopher Faylor <cgf@redhat.com>
|
||||
|
||||
* miscfuncs.cc (low_priority_sleep): Make a "C" function.
|
||||
|
|
|
@ -377,6 +377,8 @@ pthread::exit (void *value_ptr)
|
|||
mutex.unlock ();
|
||||
}
|
||||
|
||||
(_reclaim_reent) (_REENT);
|
||||
|
||||
if (InterlockedDecrement (&MT_INTERFACE->threadcount) == 0)
|
||||
::exit (0);
|
||||
else
|
||||
|
@ -1879,6 +1881,7 @@ __reent_t::init_clib (struct _reent& var)
|
|||
var._stdout = _GLOBAL_REENT->_stdout;
|
||||
var._stderr = _GLOBAL_REENT->_stderr;
|
||||
var.__sdidinit = _GLOBAL_REENT->__sdidinit;
|
||||
var.__cleanup = _GLOBAL_REENT->__cleanup;
|
||||
_clib = &var;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue