Hello internals,

today I have been pointed to bug #60982[1], which appears to be an
unpleasant limitation.  I wonder why the GC is not triggered when the
memory limit is exhausted, what would avoid the script to end
prematurely if there are uncollected cycles.

I've tried out a (maybe too simplistic) solution[2], and with that
modification the test script of bug #69639[3] would run, as well as Dan
Ackroyd's memTest.php[4] presented in the other bug report.

With my limited knowledge of C, systems programming, and the Zend Engine
in particular, I can't see any drawbacks with this modification, so I
would be happy if more experienced programmers could point out crucial
issues.  Otherwise it might be worthwhile to investigate further
improvements (I have not tackled zend_mm_realloc_heap() or even "Out of
memory" conditions).

[1] <https://bugs.php.net/bug.php?id=60982>
[2] <https://github.com/cmb69/php-src/tree/gc>
[3] <https://bugs.php.net/bug.php?id=69639>
[4] <https://gist.github.com/Danack/69323606f144a2bbb9db>

-- 
Christoph M. Becker

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

Reply via email to