summaryrefslogtreecommitdiff
path: root/Zend/zend_generators.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_generators.c')
-rw-r--r--Zend/zend_generators.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c
index 4b18f4221d..1cf9566ea5 100644
--- a/Zend/zend_generators.c
+++ b/Zend/zend_generators.c
@@ -198,6 +198,9 @@ static void zend_generator_dtor_storage(zend_generator *generator, zend_object_h
if (finally_op_num) {
ex->opline = &ex->op_array->opcodes[finally_op_num];
ex->fast_ret = NULL;
+ ex->delayed_exception = EG(exception);
+ EG(exception) = NULL;
+
generator->flags |= ZEND_GENERATOR_FORCED_CLOSE;
zend_generator_resume(generator TSRMLS_CC);
}