1 /* This file is part of the YAZ toolkit.
2 * Copyright (C) Index Data
3 * See the file LICENSE for details.
8 * \brief Initialize global things
23 #include <gnutls/gnutls.h>
27 #include <libxml/parser.h>
31 #include <libxslt/xslt.h>
35 #include <libexslt/exslt.h>
38 static int yaz_init_flag = 0;
40 static pthread_mutex_t yaz_init_mutex = PTHREAD_MUTEX_INITIALIZER;
43 extern void yaz_log_init_globals(void);
44 extern void yaz_log_deinit_globals(void);
46 void yaz_init_globals(void)
51 pthread_mutex_lock(&yaz_init_mutex);
55 yaz_log_init_globals();
68 yaz_init_flag = 1; /* must be last, before unlocking */
71 pthread_mutex_unlock(&yaz_init_mutex);
75 void yaz_deinit_globals(void)
80 pthread_mutex_lock(&yaz_init_mutex);
84 yaz_log_deinit_globals();
86 gnutls_global_deinit();
97 pthread_mutex_unlock(&yaz_init_mutex);
104 * c-file-style: "Stroustrup"
105 * indent-tabs-mode: nil
107 * vim: shiftwidth=4 tabstop=8 expandtab