Does anybody see a problem with this patch (which is currently against the 5.1.2 release)?

expand_filepath will eventual do a realpath, but it also uses the realpath cache before calling realpath. VCWD_REALPATH just maps directly to realpath and doesn't use the realpath cache so for every request you get a realpath call (and all the syscalls that go with it) on the primary file.

I think I need to pass TSRMLS_CC, but I am not sure.

Any problems committing it to PHP_5_1 and HEAD?

Brian

--- ../php-5.1.2.orig/main/main.c       Sun Jan  1 04:50:17 2006
+++ main/main.c Thu Mar  9 20:00:47 2006
@@ -1684,7 +1684,7 @@
                        char realfile[MAXPATHLEN];
                        int realfile_len;
                        int dummy = 1;
- if (VCWD_REALPATH(primary_file->filename, realfile)) { + if (expand_filepath(primary_file->filename, realfile TSRMLS_CC)) {
                                realfile_len =  strlen(realfile);
zend_hash_add(&EG(included_files), realfile, realfile_len+1, (void *)&dummy, sizeof(int), NULL); if (strncmp(realfile, primary_file- >filename, realfile_len)) {

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to