]> granicus.if.org Git - php/commitdiff
Fix quitting on a second run
authorBob Weinand <bobwei9@hotmail.com>
Tue, 28 Oct 2014 12:55:14 +0000 (13:55 +0100)
committerBob Weinand <bobwei9@hotmail.com>
Tue, 28 Oct 2014 16:25:46 +0000 (17:25 +0100)
phpdbg.c

index 4bfbf4c1e918f95df5fde201352374058929033f..87bfb8583459ee1438dfaf699b07b20e1df64cd1 100644 (file)
--- 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)) {