diff options
author | Christopher Faylor <me@cgf.cx> | 2010-02-28 18:54:25 +0300 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2010-02-28 18:54:25 +0300 |
commit | 98a97ac6cfbbe6901e80e80caadfadacf4b931d3 (patch) | |
tree | 8409a83fb77183df732f9ff28adc9e9db7e70314 /winsup/cygwin/dlfcn.cc | |
parent | d5d5bf4dd5609dd29e511d688e317b2f0f1987ca (diff) |
Update some copyrights.
* cygtls.cc (_cygtls::call): Invoke new exception protection here.
(_cygtls::init_thread): Remove conditionalized exception handler setup.
(exception_list): Delete declaration.
(_cygtls::init_exception_handler): Delete obsolete function.
* cygtls.h: Remove (now) unneeded include.
(_cygtls): Make this a real C++ class.
(_cygtls::handle_exceptions): Remove.
(_cygtls::init_exception_handler): Remove.
(_cygtls::call2): Make private.
(myfault::faulted): Remove unneeded parentheses.
* dcrt0.cc (dll_crt0_1): Remove exception handler setup.
* dlfcn.cc (dlopen): Ditto.
(dlclose): Ditto.
* dll_init.cc (dll_dllcrt0_1): Ditto.
(dll_list::detach): Use new exception handler protection.
* exceptions.cc (dump_exception): Rename to prevent confusion with new class.
(exception::handle): Rename from _cygtls::handle_exceptions. Accommodate new
exception class. Accommodate rename to dump_exception.
* tlsoffsets.h: Regenerate.
Diffstat (limited to 'winsup/cygwin/dlfcn.cc')
-rw-r--r-- | winsup/cygwin/dlfcn.cc | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/winsup/cygwin/dlfcn.cc b/winsup/cygwin/dlfcn.cc index 77d26f243..fb3df2c5f 100644 --- a/winsup/cygwin/dlfcn.cc +++ b/winsup/cygwin/dlfcn.cc @@ -1,6 +1,6 @@ /* dlfcn.cc - Copyright 1998, 2000, 2001, 2002, 2003, 2004, 2008, 2009 Red Hat, Inc. + Copyright 1998, 2000, 2001, 2002, 2003, 2004, 2008, 2009, 2010 Red Hat, Inc. This file is part of Cygwin. @@ -109,9 +109,6 @@ dlopen (const char *name, int) ret = (void *) LoadLibraryW (path); - /* In case it was removed by LoadLibrary. */ - _my_tls.init_exception_handler (); - /* Restore original cxx_malloc pointer. */ __cygwin_user_data.cxx_malloc = tmp_malloc; @@ -163,15 +160,10 @@ dlclose (void *handle) int ret; if (handle == GetModuleHandle (NULL)) ret = 0; + else if (FreeLibrary ((HMODULE) handle)) + ret = 0; else - { - if (FreeLibrary ((HMODULE) handle)) - ret = 0; - else - ret = -1; - /* In case it was removed by FreeLibrary */ - _my_tls.init_exception_handler (); - } + ret = -1; if (ret) set_dl_error ("dlclose"); return ret; |