Skip to content

Commit 3081f2b

Browse files
committed
Rename fiber->error to exception
Also removed unnecessary opline adjustment.
1 parent 3ba2845 commit 3081f2b

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

Zend/zend_fibers.c

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,7 @@ ZEND_METHOD(Fiber, start)
528528
ZEND_METHOD(Fiber, suspend)
529529
{
530530
zend_fiber *fiber = EG(current_fiber);
531-
zval *error, *value = NULL;
531+
zval *exception, *value = NULL;
532532

533533
ZEND_PARSE_PARAMETERS_START(0, 1)
534534
Z_PARAM_OPTIONAL
@@ -573,18 +573,16 @@ ZEND_METHOD(Fiber, suspend)
573573
// Add reference while fiber is running.
574574
GC_ADDREF(&fiber->std);
575575

576-
if (!fiber->error) {
577-
RETVAL_COPY_VALUE(&fiber->value);
578-
ZVAL_UNDEF(&fiber->value);
579-
return;
580-
}
576+
if (fiber->exception) {
577+
exception = fiber->exception;
578+
fiber->exception = NULL;
581579

582-
error = fiber->error;
583-
fiber->error = NULL;
580+
zend_throw_exception_object(exception);
581+
RETURN_THROWS();
582+
}
584583

585-
execute_data->opline--;
586-
zend_throw_exception_object(error);
587-
execute_data->opline++;
584+
RETVAL_COPY_VALUE(&fiber->value);
585+
ZVAL_UNDEF(&fiber->value);
588586
}
589587
/* }}} */
590588

@@ -643,7 +641,7 @@ ZEND_METHOD(Fiber, throw)
643641
}
644642

645643
Z_ADDREF_P(exception);
646-
fiber->error = exception;
644+
fiber->exception = exception;
647645

648646
fiber->status = ZEND_FIBER_STATUS_RUNNING;
649647

Zend/zend_fibers.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ typedef struct _zend_fiber {
7777
zend_execute_data *execute_data;
7878

7979
/* Exception to be thrown from Fiber::suspend(). */
80-
zval *error;
80+
zval *exception;
8181

8282
/* Storage for temporaries and fiber return value. */
8383
zval value;

0 commit comments

Comments
 (0)