From 7d51e47eda97a6570ebebfc8e0d512e7575443a6 Mon Sep 17 00:00:00 2001 From: krakjoe Date: Sun, 12 Jan 2014 16:48:10 +0000 Subject: work on #46 (handle quit local consoles gracefully) --- phpdbg.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to 'phpdbg.c') 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) { -- cgit v1.2.1