Internals, I have gone through the PHP codebase (latest 5.2 CVS), looking for the use of thread unsafe functions, and I found a number. I have virtually no experience in the PHP codebase, so I can't guarantee there are no false alarms in this, but I think the majority is valid. I noticed that main/reentrancy.c provided in thread-safe versions of unsafe functions by means of locking, which can be used when the thread-safe variant is not available. These functions in reentrancy.c are not always used however.
Below follows all situations I could find. The only other functions I checked besides those mentioned was asctime(), which showed no problems. If you feel it's better for me to turn this into a bugreport (or many small ones?), let me know and I will. Kind regards, Ron Korving ------------------------------------------------- gmtime: (use gmtime_r) ext/interbase/ibase_query.c on line 679 ext/pdo_sqlite/sqlite/src/date.c on line 948 (external code library) sapi/thttpd_patch on lines 282, 1355, 2298 ctime: (use ctime_r) ext/mime_magic/mime_magic.c on line 1759 localtime: (use localtime_r) ext/com_dotnet/com_variant.c on line 818 ext/pdo_sqlite/sqlite/src/date.c on line 415 (external code library) ext/sqlite/libsqlite/src/date.c on line 419 (external code library) ext/xmlrpc/libxmlrpc/xmlrpc.c on line 234 (external code library) ext/zip/lib/zip_dirent.c on lines 398, 525 (external code library) sapi/thttpd_patch on line 2300 (external code library) crypt: (use crypt_r) ext/standard/crypt.c on line 149 rand: (use rand_r) ext/mcrypt/mcrypt.c on line 1042 ext/soap/php_http.c on line 467 ext/sqlite/libsqlite/src/encode.c on lines 204, 213 (external code library) readdir: (use readdir_r) ext/pcre/pcrelib/pcregrep.c on line 261 main/streams/php_scandir.c on line 74 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php