+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.
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 ();
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;