From: krakjoe Date: Sun, 12 Jan 2014 16:48:10 +0000 (+0000) Subject: work on #46 (handle quit local consoles gracefully) X-Git-Tag: php-5.6.0alpha1~14^2~9 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7d51e47eda97a6570ebebfc8e0d512e7575443a6;p=php work on #46 (handle quit local consoles gracefully) --- diff --git a/phpdbg.c b/phpdbg.c index 481a1815db..1ada36c7a1 100644 --- a/phpdbg.c +++ b/phpdbg.c @@ -1243,18 +1243,25 @@ phpdbg_interact: #ifndef _WIN32 /* remote client disconnected */ if ((PHPDBG_G(flags) & PHPDBG_IS_DISCONNECTED)) { - - /* renegociate connections */ - phpdbg_open_sockets( - address, listen, &server, &socket, streams); - /* set streams */ - if (streams[0] && streams[1]) { - PHPDBG_G(flags) &= ~PHPDBG_IS_QUITTING; + if (PHPDBG_G(flags) & PHPDBG_IS_REMOTE) { + /* renegociate connections */ + phpdbg_open_sockets( + address, listen, &server, &socket, streams); + + /* set streams */ + if (streams[0] && streams[1]) { + PHPDBG_G(flags) &= ~PHPDBG_IS_QUITTING; + } + + /* this must be forced */ + CG(unclean_shutdown) = 0; + } else { + /* local client quit console */ + CG(unclean_shutdown) = 0; + + goto phpdbg_out; } - - /* this must be forced */ - CG(unclean_shutdown) = 0; } #endif if (PHPDBG_G(flags) & PHPDBG_IS_QUITTING) {