aboutsummaryrefslogtreecommitdiffstats
path: root/databases/mysql51-server
diff options
context:
space:
mode:
authorale <ale@FreeBSD.org>2010-03-05 19:42:26 +0800
committerale <ale@FreeBSD.org>2010-03-05 19:42:26 +0800
commit112c3219fb3926b5f18604d885ba888a5c9b59a8 (patch)
treedc653f08a5d770820e8b6b1d63bb327888882970 /databases/mysql51-server
parent89c6ff8b9993437690dcd98170ab2f5c9758965c (diff)
downloadfreebsd-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/Makefile2
-rw-r--r--databases/mysql51-server/files/patch-4505865
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