diff options
author | Michael Wallner <mike@php.net> | 2006-06-01 19:14:48 +0000 |
---|---|---|
committer | Michael Wallner <mike@php.net> | 2006-06-01 19:14:48 +0000 |
commit | 6e2ff39e3ec0a909574de457a6f54230d3280bee (patch) | |
tree | 204da798f098d1cfec480c973d25493792432ed7 /ext | |
parent | 57cdfc58d22dbc4eb67970a214e1d029f0f4fcac (diff) | |
download | php-git-6e2ff39e3ec0a909574de457a6f54230d3280bee.tar.gz |
- Fix bug #37630: MySQL extensions should link against thread safe client libs if built with ZTS
Diffstat (limited to 'ext')
-rw-r--r-- | ext/mysql/config.m4 | 6 | ||||
-rw-r--r-- | ext/mysql/php_mysql.c | 13 | ||||
-rw-r--r-- | ext/mysqli/config.m4 | 8 | ||||
-rwxr-xr-x | ext/pdo_mysql/config.m4 | 14 |
4 files changed, 21 insertions, 20 deletions
diff --git a/ext/mysql/config.m4 b/ext/mysql/config.m4 index 3e8bbdfb20..5870be02e1 100644 --- a/ext/mysql/config.m4 +++ b/ext/mysql/config.m4 @@ -86,7 +86,11 @@ if test "$PHP_MYSQL" != "no"; then Note that the MySQL client library is not bundled anymore!]) fi - MYSQL_LIBNAME=mysqlclient + if test "$enable_maintainer_zts" = "yes"; then + MYSQL_LIBNAME=mysqlclient_r + else + MYSQL_LIBNAME=mysqlclient + fi case $host_alias in *netware*[)] MYSQL_LIBNAME=mysql diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c index bef974313b..023a87e9fb 100644 --- a/ext/mysql/php_mysql.c +++ b/ext/mysql/php_mysql.c @@ -392,13 +392,6 @@ ZEND_MODULE_STARTUP_D(mysql) REGISTER_LONG_CONSTANT("MYSQL_CLIENT_INTERACTIVE", CLIENT_INTERACTIVE, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("MYSQL_CLIENT_IGNORE_SPACE", CLIENT_IGNORE_SPACE, CONST_CS | CONST_PERSISTENT); - -#ifdef ZTS -# if MYSQL_VERSION_ID >= 40000 - mysql_thread_init(); -# endif -#endif - return SUCCESS; } /* }}} */ @@ -407,12 +400,6 @@ ZEND_MODULE_STARTUP_D(mysql) */ PHP_MSHUTDOWN_FUNCTION(mysql) { -#ifdef ZTS -# if MYSQL_VERSION_ID >= 40000 - mysql_thread_end(); -# endif -#endif - UNREGISTER_INI_ENTRIES(); return SUCCESS; } diff --git a/ext/mysqli/config.m4 b/ext/mysqli/config.m4 index cfca74b476..2c1af87054 100644 --- a/ext/mysqli/config.m4 +++ b/ext/mysqli/config.m4 @@ -22,9 +22,13 @@ dnl fi MYSQL_CONFIG=$PHP_MYSQLI fi + MYSQL_LIB_NAME='mysqlclient' if test "$PHP_EMBEDDED_MYSQLI" = "yes"; then AC_DEFINE(HAVE_EMBEDDED_MYSQLI, 1, [embedded MySQL support enabled]) MYSQL_LIB_CFG='--libmysqld-libs' + elif test "$enable_maintainer_zts" = "yes"; then + MYSQL_LIB_CFG='--libs_r' + MYSQL_LIB_NAME='mysqlclient_r' else MYSQL_LIB_CFG='--libs' fi @@ -40,12 +44,12 @@ dnl fi dnl dnl Check the library dnl - PHP_CHECK_LIBRARY(mysqlclient, mysql_set_server_option, + PHP_CHECK_LIBRARY($MYSQL_LIB_NAME, mysql_set_server_option, [ PHP_EVAL_INCLINE($MYSQLI_INCLINE) PHP_EVAL_LIBLINE($MYSQLI_LIBLINE, MYSQLI_SHARED_LIBADD) AC_DEFINE(HAVE_MYSQLILIB,1,[ ]) - PHP_CHECK_LIBRARY(mysqlclient, mysql_stmt_field_count, + PHP_CHECK_LIBRARY($MYSQL_LIB_NAME, mysql_stmt_field_count, [ ],[ AC_MSG_ERROR([MySQLI doesn't support versions < 4.1.3 (for MySQL 4.1.x) and < 5.0.1 for (MySQL 5.0.x) anymore. Please update your libraries.]) ],[$MYSQLI_LIBLINE]) diff --git a/ext/pdo_mysql/config.m4 b/ext/pdo_mysql/config.m4 index c239944279..44471d7430 100755 --- a/ext/pdo_mysql/config.m4 +++ b/ext/pdo_mysql/config.m4 @@ -5,7 +5,7 @@ dnl if test "$PHP_PDO" != "no"; then AC_DEFUN([PDO_MYSQL_LIB_CHK], [ - str="$PDO_MYSQL_DIR/$1/libmysqlclient.*" + str="$PDO_MYSQL_DIR/$1/libmysqlclient*" for j in `echo $str`; do if test -r $j; then PDO_MYSQL_LIB_DIR=$MYSQL_DIR/$1 @@ -53,8 +53,14 @@ if test "$PHP_PDO_MYSQL" != "no"; then if test "x$SED" = "x"; then AC_PATH_PROG(SED, sed) fi + if test "$enable_maintainer_zts" = "yes"; then + PDO_MYSQL_LIBNAME=mysqlclient_r + PDO_MYSQL_LIBS=`$PDO_MYSQL_CONFIG --libs_r | $SED -e "s/'//g"` + else + PDO_MYSQL_LIBNAME=mysqlclient + PDO_MYSQL_LIBS=`$PDO_MYSQL_CONFIG --libs | $SED -e "s/'//g"` + fi PDO_MYSQL_INCLUDE=`$PDO_MYSQL_CONFIG --cflags | $SED -e "s/'//g"` - PDO_MYSQL_LIBS=`$PDO_MYSQL_CONFIG --libs | $SED -e "s/'//g"` PDO_MYSQL_SOCKET=`$PDO_MYSQL_CONFIG --socket` elif test -z "$PDO_MYSQL_DIR"; then AC_MSG_RESULT([not found]) @@ -80,7 +86,7 @@ if test "$PHP_PDO_MYSQL" != "no"; then AC_MSG_ERROR([Unable to find your mysql installation]) fi - PHP_ADD_LIBRARY_WITH_PATH(mysqlclient, $PDO_MYSQL_LIB_DIR, PDO_MYSQL_SHARED_LIBADD) + PHP_ADD_LIBRARY_WITH_PATH($PDO_MYSQL_LIBNAME, $PDO_MYSQL_LIB_DIR, PDO_MYSQL_SHARED_LIBADD) PHP_ADD_INCLUDE($PDO_MYSQL_INC_DIR) PDO_MYSQL_INCLUDE=-I$PDO_MYSQL_INC_DIR fi @@ -88,7 +94,7 @@ if test "$PHP_PDO_MYSQL" != "no"; then AC_DEFINE_UNQUOTED(PDO_MYSQL_UNIX_ADDR, "$PDO_MYSQL_SOCKET", [ ]) - PHP_CHECK_LIBRARY(mysqlclient, mysql_query, + PHP_CHECK_LIBRARY($PDO_MYSQL_LIBNAME, mysql_query, [ PHP_EVAL_LIBLINE($PDO_MYSQL_LIBS, PDO_MYSQL_SHARED_LIBADD) ],[ |