summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/phpdbg.c
diff options
context:
space:
mode:
authorBob Weinand <bobwei9@hotmail.com>2015-09-19 18:30:07 +0200
committerBob Weinand <bobwei9@hotmail.com>2015-09-19 18:30:07 +0200
commit8f85dc141a74ea12f794cf5d719728f4d6f02843 (patch)
treec5bfda466cbc36ad6a745b69c3d45123eb581787 /sapi/phpdbg/phpdbg.c
parent16cde23eb24e3675219352dcf970c311c3f7fb40 (diff)
downloadphp-git-8f85dc141a74ea12f794cf5d719728f4d6f02843.tar.gz
Always properly show exit status in phpdbg
Especially when it is only set after main run (e.g. register_shutdown_function)
Diffstat (limited to 'sapi/phpdbg/phpdbg.c')
-rw-r--r--sapi/phpdbg/phpdbg.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c
index de87242e44..bf3a45184e 100644
--- a/sapi/phpdbg/phpdbg.c
+++ b/sapi/phpdbg/phpdbg.c
@@ -1305,7 +1305,7 @@ int main(int argc, char **argv) /* {{{ */
zend_bool ext_stmt = 0;
zend_bool use_mm_wrappers = 0;
zend_bool is_exit;
- int exit_status = 0;
+ int exit_status;
#ifdef ZTS
void ***tsrm_ls;
@@ -1359,6 +1359,7 @@ phpdbg_main:
php_optind = 1;
opt = 0;
sapi_name = NULL;
+ exit_status = 0;
if (settings) {
exec = settings->exec;
}
@@ -1971,6 +1972,10 @@ phpdbg_out:
php_request_shutdown(NULL);
} zend_end_try();
+ if (exit_status == 0) {
+ exit_status = EG(exit_status);
+ }
+
if (!(PHPDBG_G(flags) & PHPDBG_IS_QUITTING)) {
if (PHPDBG_G(in_execution) || is_exit) {
if (!quit_immediately && !phpdbg_startup_run) {