aboutsummaryrefslogtreecommitdiff
path: root/databases/mysql55-client
diff options
context:
space:
mode:
authorAlex Dupre <ale@FreeBSD.org>2011-01-09 12:29:19 +0000
committerAlex Dupre <ale@FreeBSD.org>2011-01-09 12:29:19 +0000
commite4340ab85f82711621070b2784e46a6aa9fc873a (patch)
treef0f5920ab2ddc27e4677844254f87a3186f90cb7 /databases/mysql55-client
parent8db6ba96bad821ab7394439b9a978714956e3999 (diff)
downloadports-e4340ab85f82711621070b2784e46a6aa9fc873a.tar.gz
ports-e4340ab85f82711621070b2784e46a6aa9fc873a.zip
Fix mysqlclient library in single-threaded applications,
by correctly implementing pthread_once (see PR threads/150959). While I'm here, replace CONFLICTS with CONFLICTS_INSTALL. Bump PORTREVISION. PR: ports/153588 Submitted by: Richard Anthony Secor <rsecor@seqlogic.com>
Notes
Notes: svn path=/head/; revision=267542
Diffstat (limited to 'databases/mysql55-client')
-rw-r--r--databases/mysql55-client/Makefile2
-rw-r--r--databases/mysql55-client/files/patch-include_my_pthread.h14
2 files changed, 15 insertions, 1 deletions
diff --git a/databases/mysql55-client/Makefile b/databases/mysql55-client/Makefile
index e91e7e1b36e7..0801fcee7ca6 100644
--- a/databases/mysql55-client/Makefile
+++ b/databases/mysql55-client/Makefile
@@ -18,7 +18,7 @@ PLIST= ${.CURDIR}/pkg-plist
LATEST_LINK= mysql55-client
-CONFLICTS= mysql-client-[34].* mysql-client-5.[0-46-9].*
+CONFLICTS_INSTALL= mysql-client-[34].* mysql-client-5.[0-46-9].*
CMAKE_ARGS= -DWITHOUT_SERVER=1
diff --git a/databases/mysql55-client/files/patch-include_my_pthread.h b/databases/mysql55-client/files/patch-include_my_pthread.h
new file mode 100644
index 000000000000..bcca323e3931
--- /dev/null
+++ b/databases/mysql55-client/files/patch-include_my_pthread.h
@@ -0,0 +1,14 @@
+--- include/my_pthread.h.orig 2011-01-09 10:17:18.000000000 +0100
++++ include/my_pthread.h 2011-01-09 12:06:33.000000000 +0100
+@@ -215,7 +215,10 @@
+
+ #define my_pthread_once_t pthread_once_t
+ #define MY_PTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
+-#define my_pthread_once(C,F) pthread_once(C,F)
++#define my_pthread_once(C,F) do { \
++ if (__isthreaded) pthread_once(C,F); \
++ else if ((C)->state == PTHREAD_NEEDS_INIT) { F(); (C)->state = PTHREAD_DONE_INIT; } \
++ } while(0)
+
+ /* Test first for RTS or FSU threads */
+