diff options
author | ale <ale@FreeBSD.org> | 2010-03-05 19:42:26 +0800 |
---|---|---|
committer | ale <ale@FreeBSD.org> | 2010-03-05 19:42:26 +0800 |
commit | 112c3219fb3926b5f18604d885ba888a5c9b59a8 (patch) | |
tree | dc653f08a5d770820e8b6b1d63bb327888882970 /databases/mysql51-server | |
parent | 89c6ff8b9993437690dcd98170ab2f5c9758965c (diff) | |
download | freebsd-ports-gnome-112c3219fb3926b5f18604d885ba888a5c9b59a8.tar.gz freebsd-ports-gnome-112c3219fb3926b5f18604d885ba888a5c9b59a8.tar.zst freebsd-ports-gnome-112c3219fb3926b5f18604d885ba888a5c9b59a8.zip |
Fix for MySQL Bug #45058.
Feature safe: yes
Diffstat (limited to 'databases/mysql51-server')
-rw-r--r-- | databases/mysql51-server/Makefile | 2 | ||||
-rw-r--r-- | databases/mysql51-server/files/patch-45058 | 65 |
2 files changed, 66 insertions, 1 deletions
diff --git a/databases/mysql51-server/Makefile b/databases/mysql51-server/Makefile index 14c8715b0fcc..7ec5808dc714 100644 --- a/databases/mysql51-server/Makefile +++ b/databases/mysql51-server/Makefile @@ -7,7 +7,7 @@ PORTNAME?= mysql PORTVERSION= 5.1.44 -PORTREVISION?= 0 +PORTREVISION?= 1 CATEGORIES= databases MASTER_SITES= ${MASTER_SITE_MYSQL} MASTER_SITE_SUBDIR= MySQL-5.1 diff --git a/databases/mysql51-server/files/patch-45058 b/databases/mysql51-server/files/patch-45058 new file mode 100644 index 000000000000..859ea1ae4585 --- /dev/null +++ b/databases/mysql51-server/files/patch-45058 @@ -0,0 +1,65 @@ +=== modified file 'include/my_sys.h' +--- include/my_sys.h 2009-12-12 18:11:25 +0000 ++++ include/my_sys.h 2010-02-26 13:37:03 +0000 +@@ -950,7 +950,7 @@ extern my_bool resolve_charset(const cha + extern my_bool resolve_collation(const char *cl_name, + CHARSET_INFO *default_cl, + CHARSET_INFO **cl); +- ++extern void free_charsets(void); + extern char *get_charsets_dir(char *buf); + extern my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2); + extern my_bool init_compiled_charsets(myf flags); + +=== modified file 'libmysql/libmysql.c' +--- libmysql/libmysql.c 2009-12-18 18:44:24 +0000 ++++ libmysql/libmysql.c 2010-02-26 13:37:03 +0000 +@@ -211,6 +211,7 @@ void STDCALL mysql_server_end() + } + else + { ++ free_charsets(); + mysql_thread_end(); + } + + +=== modified file 'mysys/charset.c' +--- mysys/charset.c 2009-12-15 09:48:29 +0000 ++++ mysys/charset.c 2010-02-26 13:37:03 +0000 +@@ -427,6 +427,12 @@ static void init_available_charsets(void + } + + ++static my_pthread_once_t charsets_template= MY_PTHREAD_ONCE_INIT; ++void free_charsets(void) ++{ ++ charsets_initialized= charsets_template; ++} ++ + uint get_collation_number(const char *name) + { + my_pthread_once(&charsets_initialized, init_available_charsets); + +=== modified file 'mysys/my_init.c' +--- mysys/my_init.c 2009-12-12 18:11:25 +0000 ++++ mysys/my_init.c 2010-02-26 13:37:03 +0000 +@@ -165,6 +165,7 @@ void my_end(int infoflag) + my_print_open_files(); + } + } ++ free_charsets(); + my_error_unregister_all(); + my_once_free(); + + +=== modified file 'sql/mysqld.cc' +--- sql/mysqld.cc 2010-02-05 12:55:20 +0000 ++++ sql/mysqld.cc 2010-02-26 13:37:03 +0000 +@@ -1287,6 +1287,7 @@ void clean_up(bool print_message) + lex_free(); /* Free some memory */ + item_create_cleanup(); + set_var_free(); ++ free_charsets(); + if (!opt_noacl) + { + #ifdef HAVE_DLOPEN |