* dcrt0.cc (do_exit): Call DisableThreadLibraryCalls since we don't need to

track thread detaches.
* init.cc (dll_entry): Reorganize slightly.  Fix api_fatal message.
This commit is contained in:
Christopher Faylor 2002-10-07 04:12:54 +00:00
parent 66451d9590
commit bc63ea872c
3 changed files with 14 additions and 12 deletions

View File

@ -1,3 +1,9 @@
2002-10-07 Christopher Faylor <cgf@redhat.com>
* dcrt0.cc (do_exit): Call DisableThreadLibraryCalls since we don't
need to track thread detaches.
* init.cc (dll_entry): Reorganize slightly. Fix api_fatal message.
2002-10-05 Christopher Faylor <cgf@redhat.com>
* cygthread.cc (cygthread::stub): Very minor cleanup.

View File

@ -958,6 +958,10 @@ do_exit (int status)
UINT n = (UINT) status;
static int NO_COPY exit_state = 0;
if (!DisableThreadLibraryCalls (cygwin_hmodule))
system_printf ("DisableThreadLibraryCalls (%p) failed, %E",
cygwin_hmodule);
syscall_printf ("do_exit (%d)", n);
vfork_save *vf = vfork_storage.val ();

View File

@ -24,26 +24,18 @@ WINAPI dll_entry (HANDLE h, DWORD reason, void *static_load)
cygwin_hmodule = (HMODULE) h;
dynamically_loaded = (static_load == NULL);
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
if (user_data->threadinterface)
{
if (!TlsSetValue (user_data->threadinterface->reent_index,
&user_data->threadinterface->reents))
api_fatal ("Sig proc MT init failed\n");
api_fatal ("thread initialization failed");
}
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_DETACH:
#if 0
pthread *thisthread = (pthread *)
TlsGetValue (user_data->threadinterface->thread_self_dwTlsIndex);
if (thisthread) {
/* Some non-pthread call created this thread,
* but we need to clean it up */
thisthread->exit (0);
}
#endif
/* not invoked */;
break;
}
return 1;