Hi!

> Instead of throwing zend_error() from signal handler, now we just set
> EG(vm_interrupt) and EG(timed_out) flags. PHP VM checks EG(vm_interrupt)
> flag on each JMPx instruction (potential loop iteration) and then throws

That looks very nice but makes timeouts much less powerful. I think
without some ability to interrupt internal functions it won't be good.

> Unfortunately this approach doesn't support interruption of long-running
> internal functions yet. It should be extended in some way. May be
> additional timeout.

Doing additional setjmp when entering internal function probably would
be too expensive. So the question is how to get out of the bad function
without incurring per-function overhead... Not sure how to do it.

-- 
Stas Malyshev
smalys...@gmail.com

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

Reply via email to