ID: 37630 User updated by: openmacnews at gmail dot com Reported By: openmacnews at gmail dot com Status: Open Bug Type: MySQL related Operating System: osx PHP Version: 5.1.4 New Comment:
> The switch to enable thread safety is --enable-maintainer-zts. thx for the clarification. > that you shoulnd't use it unless you've got a really good reason to do so. understood. i'm exploring (non-production, yet) 'playing nice' with apache worker mpm, reentrant mysql libs, and some threaded functionality we're working on ... > Now about the reentrancy issues of the mysql extensions: > ... > Just a recap, no fix yet. fair nuf. fwiw, given your comments, doing: b4 config: perl -pi -e 's/mysqlclient\,/mysqlclient_r\,/g' ext/pdo_mysql/config.m4 perl -pi -e 's/mysqlclient\./mysqlclient_r\./g' ext/pdo_mysql/config.m4 perl -pi -e 's/libmysqlclient.lib/libmysqlclient_r.lib/g' ext/mysql/mysql.mak perl -pi -e 's/LIBNAME=mysqlclient\n/LIBNAME=mysqlclient_r\n/g' ext/mysql/config.m4 then: glibtoolize buildconf and, after config, b4 make: perl -pi -e 's/mysqlclient /mysqlclient_r /g' Makefile perl -pi -e 's/mysqlclient\n/mysqlclient_r\n/g' Makefile seems, so far to give me a stable/executable build, linked uniquely/solely against lmysqlclient_r ... of course, i haven't done any serious functional testing as yet. let me know if/how i can play 'guinea pig' ... richard Previous Comments: ------------------------------------------------------------------------ [2006-05-31 17:58:38] [EMAIL PROTECTED] The switch to enable thread safety is --enable-maintainer-zts. The name suggests though, that you shoulnd't use it unless you've got a really good reason to do so. Now about the reentrancy issues of the mysql extensions: None of ext/mysql, ext/mysqli, ext/pdo_mysql check for the reentrant version of the client library if ZTS is enabled. ext/mysql though, calls mysql_thread_init() and mysql_thread_end() and thus cause sort of a deadlock if linked against libmysqlclient_r. Just a recap, no fix yet. ------------------------------------------------------------------------ [2006-05-30 16:34:35] openmacnews at gmail dot com mike, great. rather than dribbles of info, can you, then, please specify what configuration option does and how to end up linked agaist only the right/single library? bottom line is i'm looking for thread-safe php + mysql, linked against libmysqlclient_r. let's just say the documentation hasn't been, at least for me, forthcoming on the matter ... ------------------------------------------------------------------------ [2006-05-30 16:22:54] [EMAIL PROTECTED] This configure flag does not enable thread safety. ------------------------------------------------------------------------ [2006-05-30 15:44:09] openmacnews at gmail dot com hi mike, of course. sorry, i should have specified rather than assumed it would be obvious ... i have built php "--with-tsrm-pthreads". same issue, one vs both libs linked. ------------------------------------------------------------------------ [2006-05-30 13:14:21] [EMAIL PROTECTED] >i've built mysql 5.0.21 threadsafe -- hence, the link target >needs to be the _reentrant_ libmysqlclient_r No. If you don't build a threaded client, you don't need to link against the reentrant client libraries. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/37630 -- Edit this bug report at http://bugs.php.net/?id=37630&edit=1