summaryrefslogtreecommitdiffstats
path: root/extra/myodbc/myodbc-shutdown.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/myodbc/myodbc-shutdown.patch')
-rw-r--r--extra/myodbc/myodbc-shutdown.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/extra/myodbc/myodbc-shutdown.patch b/extra/myodbc/myodbc-shutdown.patch
new file mode 100644
index 000000000..ec0cf3d36
--- /dev/null
+++ b/extra/myodbc/myodbc-shutdown.patch
@@ -0,0 +1,27 @@
+myodbc_end is really only usable during Windows DLL unload, since it's not
+connection-specific and not thread-safe either. This bit of brain fade
+accounts for our bug #185343 and several bugs filed at mysql.com.
+
+Furthermore, my_end() isn't exported from libmysqlclient anymore.
+Hence, best fix is to turn the function into a no-op.
+
+
+diff -Naur mysql-connector-odbc-5.1.8.orig/driver/dll.c mysql-connector-odbc-5.1.8/driver/dll.c
+--- mysql-connector-odbc-5.1.8.orig/driver/dll.c 2010-10-28 14:33:18.000000000 -0400
++++ mysql-connector-odbc-5.1.8/driver/dll.c 2010-12-23 15:05:49.394608226 -0500
+@@ -94,6 +94,7 @@
+ */
+ void myodbc_end()
+ {
++#if 0
+ if (!--myodbc_inited)
+ {
+ my_free(decimal_point,MYF(0));
+@@ -121,6 +122,7 @@
+ my_end(0);
+ #endif
+ }
++#endif
+ }
+
+