summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Weinand <bobwei9@hotmail.com>2014-10-28 13:55:14 +0100
committerBob Weinand <bobwei9@hotmail.com>2014-10-28 17:25:46 +0100
commitc895fbea22cb0d7bedfa9e3429a073c8eefca84a (patch)
tree5437b4648d6ac13b480e58a4ad65b8e95294fa6e
parentb7d83ff8a69f60820ac45ffc02d903482c40399f (diff)
downloadphp-git-c895fbea22cb0d7bedfa9e3429a073c8eefca84a.tar.gz
Fix quitting on a second run
-rw-r--r--phpdbg.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/phpdbg.c b/phpdbg.c
index 4bfbf4c1e9..87bfb85834 100644
--- a/phpdbg.c
+++ b/phpdbg.c
@@ -1527,21 +1527,20 @@ phpdbg_main:
PHPDBG_G(flags) |= PHPDBG_IS_STEPPING;
}
- if (phpdbg_startup_run) {
- zend_try {
- PHPDBG_COMMAND_HANDLER(run)(NULL TSRMLS_CC);
- } zend_end_try();
- if (phpdbg_startup_run > 1) {
- /* if -r is on the command line more than once just quit */
- goto phpdbg_out;
- }
- phpdbg_startup_run = 0;
- }
-
phpdbg_interact:
/* phpdbg main() */
do {
zend_try {
+ if (phpdbg_startup_run) {
+ PHPDBG_COMMAND_HANDLER(run)(NULL TSRMLS_CC);
+ if (phpdbg_startup_run > 1) {
+ /* if -r is on the command line more than once just quit */
+ EG(bailout) = __orig_bailout; /* reset zend_try */
+ break;
+ }
+ phpdbg_startup_run = 0;
+ }
+
phpdbg_interactive(1 TSRMLS_CC);
} zend_catch {
if ((PHPDBG_G(flags) & PHPDBG_IS_CLEANING)) {