DBA problems / shutdown memory manager

php.internals

(Marcus Börger)

23 years ago
Hi Wez, after adding persistent to dba i get this: [marcus@zaphod PHP_4_3_0]$ make sapi/cli/php && sapi/cli/php -r '$db=dba_popen($argv[1],"n","flatfile");echo "$db\n";dba_insert("a","b",$db);sleep(5);echo "done\n";' -- /tmp/test.db make: `sapi/cli/php' is up to date. Resource id #5 done /usr/src/PHP_4_3_0/main/streams.c(2575) : Freeing 0x083A2E0C (13 bytes), script=- /usr/src/PHP_4_3_0/Zend/zend_hash.c(948) : ht=0x08319d88 is already destroyed /usr/src/PHP_4_3_0/Zend/zend_hash.c(98) : Bailed out without a bailout address! And i have an interesting effect: locks of 4.3.2 and 5.0 do not mutual exclude!?! I have experimented with the first: it is about the stream->__orig_path and i could not found a solution why it wasn't freed. But finally i found that the stream is freed after the memory manager is being shut down. This is another reason why i thing was must do shutdown of the memory manager later. marcus