diff options
Diffstat (limited to 'src/lib/gssapi/gss_libinit.c')
-rw-r--r-- | src/lib/gssapi/gss_libinit.c | 37 |
1 files changed, 9 insertions, 28 deletions
diff --git a/src/lib/gssapi/gss_libinit.c b/src/lib/gssapi/gss_libinit.c index fb80c89463..70301af73f 100644 --- a/src/lib/gssapi/gss_libinit.c +++ b/src/lib/gssapi/gss_libinit.c @@ -7,8 +7,6 @@ #include "gss_libinit.h" #include "k5-platform.h" -static int initialized = 0; - /* * Initialize the GSSAPI library. */ @@ -18,6 +16,10 @@ MAKE_FINI_FUNCTION(gssint_lib_fini); int gssint_lib_init(void) { +#if !USE_BUNDLE_ERROR_STRINGS + add_error_table(&et_k5g_error_table); + add_error_table(&et_ggss_error_table); +#endif return k5_mutex_finish_init(&kg_vdb.mutex); } @@ -25,35 +27,14 @@ void gssint_lib_fini(void) { if (!INITIALIZER_RAN(gssint_lib_init) || PROGRAM_EXITING()) return; - k5_mutex_destroy(&kg_vdb.mutex); -} - -OM_uint32 gssint_initialize_library (void) -{ - if (!initialized) { #if !USE_BUNDLE_ERROR_STRINGS - add_error_table(&et_k5g_error_table); - add_error_table(&et_ggss_error_table); + remove_error_table(&et_k5g_error_table); + remove_error_table(&et_ggss_error_table); #endif - - initialized = 1; - } - - return CALL_INIT_FUNCTION(gssint_lib_init); + k5_mutex_destroy(&kg_vdb.mutex); } -/* - * Clean up the Kerberos v5 lirbary state - */ - -void gssint_cleanup_library (void) +OM_uint32 gssint_initialize_library (void) { - assert (initialized); - -#if !USE_BUNDLE_ERROR_STRINGS - remove_error_table(&et_k5g_error_table); - remove_error_table(&et_ggss_error_table); -#endif - - initialized = 0; + return CALL_INIT_FUNCTION(gssint_lib_init); } |