From 9e045298a505b752002e2ba65210e8ac2a5128c6 Mon Sep 17 00:00:00 2001 From: Davi Arnaut Date: Fri, 26 Feb 2010 23:09:36 -0300 Subject: [PATCH] Workaround the pthread_once_t static initialization. Per the POSIX standard, reinitialization of a pthread_once is a gray area, but it is needed to support subsequent initializations of the client library. --- mysys/charset.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mysys/charset.c b/mysys/charset.c index 584b33b2d6a..9678febc9ba 100644 --- a/mysys/charset.c +++ b/mysys/charset.c @@ -400,6 +400,7 @@ static void *cs_alloc(size_t size) static my_pthread_once_t charsets_initialized= MY_PTHREAD_ONCE_INIT; +static my_pthread_once_t charsets_template= MY_PTHREAD_ONCE_INIT; static void init_available_charsets(void) { @@ -429,7 +430,7 @@ static void init_available_charsets(void) void free_charsets(void) { - charsets_initialized= MY_PTHREAD_ONCE_INIT; + charsets_initialized= charsets_template; } uint get_collation_number(const char *name)