Commit Graph

104 Commits

Author SHA1 Message Date
Steph Fox
019c586191 - Wrong SKIPIF message 2008-06-23 17:48:23 +00:00
Greg Beaver
10f6d9a556 true fix for potential segfault in phar_build 2008-06-23 04:00:23 +00:00
Greg Beaver
fb448c5c28 fix tar-related failures 2008-06-23 03:55:50 +00:00
Steph Fox
c68a82ac7d - Revert the two blocks of code that implement the phar_build optimization, causes segfaults under *nix
- Leave the new structure in place to make re-implementation trivial
2008-06-22 16:35:26 +00:00
Steph Fox
f3844ecd17 - Revert the tar.c part of the inode calculation fix
- All tests now pass under win32, please test under *nix/osx (4 known fails at present)
2008-06-22 14:46:10 +00:00
Steph Fox
332a185e08 - ws, typo fix 2008-06-22 13:10:03 +00:00
Greg Beaver
3a8b14f83f fix inode calculation, we need fname to be set for phar/tar formats prior to manifest parsing 2008-06-22 00:50:32 +00:00
Greg Beaver
0ad165e402 new tests for phar.cache_list 2008-06-22 00:49:54 +00:00
Steph Fox
0e5b3a3527 - Don't free stuff you still need 2008-06-21 21:37:39 +00:00
Steph Fox
35e0565a4b - Kill a couple of double frees and a memleak
@Greg: You may want to run valgrind over the filestat functions before release..
2008-06-21 20:47:35 +00:00
Steph Fox
ad20b9e6bb - pefree pemalloc'd filename 2008-06-21 20:14:43 +00:00
Steph Fox
22fb73c71e - Fix macro definition syntax
- Remove pre-existing workaround
2008-06-21 19:40:41 +00:00
Steph Fox
f43a2be8cd - fix for segfault in 5.2 (patch from Greg) 2008-06-21 19:15:46 +00:00
Steph Fox
b964ec6e5d - ws 2008-06-21 18:57:53 +00:00
Greg Beaver
4b77c2baa5 define ALLOC_PERMANENT_ZVAL for PHP 5.2 2008-06-21 17:05:32 +00:00
Greg Beaver
eb0a98939a PHP 5.2 fixes to direct include of compressed archives 2008-06-21 17:05:18 +00:00
Greg Beaver
baee4e6028 close stream on failure 2008-06-21 06:55:56 +00:00
Greg Beaver
529aa19cc7 82x(./profile2) speedup for buildFrom*() 2008-06-21 06:53:10 +00:00
Greg Beaver
14c26d05ba fix leak 2008-06-21 06:21:58 +00:00
Steph Fox
97cf2a15da - 5_2 compatibility stuff (so we can stay in sync with PECL) 2008-06-20 16:29:36 +00:00
Steph Fox
c88e99d9ea - Use SKIP_SLOW_TESTS where it's most useful 2008-06-20 14:42:04 +00:00
Steph Fox
6ef7aef1d4 - Kill the last compiler warning under 5.3 (release-only) 2008-06-20 14:40:53 +00:00
Steph Fox
fc08a7cc2f The only reason that particular 'real solution' wasn't applied in the first place was that it also breaks the shared build
Maybe we don't need to call a non-existent dtor if we're going to physically apply zend_hash_graceful_reverse_destroy()?
- This works on my box, please test under *nix/OSX
2008-06-20 12:21:32 +00:00
Johannes Schlüter
62726c967c - Fix ZTS build (not required on HEAD, patch by Uwe Pries) 2008-06-20 09:17:53 +00:00
Greg Beaver
aff3636d9c minor performance improvement 2008-06-20 06:37:14 +00:00
Greg Beaver
7cc6b9f3f5 making progress - up to 42/phar vs. 48/disk with these optimizations 2008-06-20 05:42:58 +00:00
Greg Beaver
5233505043 revert really bad solution to the zend_init_rsrc_list/zend_destroy_rsrc_list problem, replace with real solution 2008-06-20 04:50:11 +00:00
Steph Fox
5d4eed8f47 - inherited methods don't unixify paths along the way. Allow for it. 2008-06-18 16:48:18 +00:00
Steph Fox
aa694b8b51 - Kill 10 MSVC compiler warnings due to type conflict
- Make cached manifest test platform agnostic
- Comment out zend_(init|destroy)_rsrc_list() and associated references

@Greg: cached manifest test (now) passes here regardless, make of that what you will
2008-06-18 15:06:50 +00:00
Pierre Joye
e5e9be2d1a - really fix the windows builds, don't cast many times when only the hash function requires void **
- copy/paste evilness with TSRM_CC/DC
(tests still pass but would be nice to speed them up...)
2008-06-18 10:20:47 +00:00
Greg Beaver
cbe23b9f20 fix windows build and more performance jumps (these are minor)
implement real copy-on-write
use virtual_dirs for wrapper stat
2008-06-18 06:38:47 +00:00
Greg Beaver
d8d31bc591 remove unused variables in phar_fix_filepath
copy virtual_dirs to avoid segfault on multi-process
fix metadata reading for phar.cache_list
initialize manifest to exact size needed (performance increase)
fix freeing of signature on error to use the correct persist value (fixes segfault on error in cache.list)
reset EG(regular_list) so it is identical to how we found it
2008-06-16 04:10:53 +00:00
Greg Beaver
4e65a58146 fix hashtable creation for tar to be estimated size needed 2008-06-16 04:09:20 +00:00
Greg Beaver
03b9673ba2 fix hashtable creation for zip to be exact size needed, fix endian issue for loading manifest 2008-06-16 04:06:59 +00:00
Greg Beaver
c353e9277e minor performance improvement 2008-06-15 23:00:46 +00:00
Greg Beaver
5e3f592d88 fix memleak 2008-06-15 22:51:46 +00:00
Greg Beaver
4104786072 another optimization - move inode hash to initial manifest parsing, improves runtime perf of stat slightly 2008-06-15 21:42:20 +00:00
Greg Beaver
d8ed660a02 minor optimization 2008-06-15 21:15:29 +00:00
Greg Beaver
04e257a8e1 HUGE speed improvement, from 19 req/sec to 27 req/sec for phpMyAdmin - now speed with apc+phar.cache_list = on-disk speedcvs diff -u |less This is by generating a list of virtual directories and using those in stat calls instead of scanning the whole manifest hash table. on-disk phpMyAdmin = 28 req/sec 2008-06-15 18:15:48 +00:00
Felipe Pena
c772aca929 - Fix build (ZTS) 2008-06-13 22:28:55 +00:00
Greg Beaver
4f9daeed11 [DOC] implement full signature support for tar-based archives. By default, data archives do
not have a signature, but can have one set via setSignatureAlgorithm()
2008-06-13 22:07:44 +00:00
Greg Beaver
5ff4deaa53 full refactor of signatures complete - now to implement them for tar as a starting point 2008-06-13 20:15:19 +00:00
Greg Beaver
09e1f0249e PHP_5_2 compat - add pestrndup if undefined 2008-06-13 15:59:13 +00:00
Felipe Pena
d61f32d021 - Fix build (ZTS) 2008-06-13 13:06:46 +00:00
Greg Beaver
9c8d13fd6c partial refactor - move signature verification into its own function, in preparation for tar/zip signature support.
next is signature creation
2008-06-13 06:34:41 +00:00
Greg Beaver
98f2dc2aca [DOC] add phar.cache_list, a PATH_SEPARATOR-separated list of full paths to phar archives to cache
at startup.  This caches the manifest, so that on first access to a phar archive, no file manifest parsing occurs.

This could use further tweaking.  For instance, the full copy of the manifest into the current process may be unnecessary if refcounting could be external
to the manifest.  This would be another significant gain.  With APC, I measure a slight perf increase to 19 req/sec up from 16 req/sec, without it approaches
regular PHP at 3.8 req/sec (regular is 4 req/sec).  This is benching phpMyAdmin
2008-06-12 18:56:23 +00:00
Greg Beaver
84eb9cc145 ensure we don't try to use an unitialized hash table 2008-06-12 18:46:58 +00:00
Antony Dovgal
ca3e7643a6 fix build (noticed by Alexey Zakhlestin) 2008-06-12 10:31:22 +00:00
Greg Beaver
279771dc4b fix error messages 2008-06-12 04:57:24 +00:00
Greg Beaver
4a62db4e6c new tests (forgot to add these earlier) 2008-06-10 19:23:09 +00:00