diff options
author | krakjoe <joe.watkins@live.co.uk> | 2014-01-12 16:48:10 +0000 |
---|---|---|
committer | krakjoe <joe.watkins@live.co.uk> | 2014-01-12 16:48:10 +0000 |
commit | 7d51e47eda97a6570ebebfc8e0d512e7575443a6 (patch) | |
tree | e8a2d5e459b9b7211ed47f84109c0eaf03bf7f66 /phpdbg.c | |
parent | 2712d7e2248ab91015502d648c9c65d8e5627e69 (diff) | |
download | php-git-7d51e47eda97a6570ebebfc8e0d512e7575443a6.tar.gz |
work on #46 (handle quit local consoles gracefully)
Diffstat (limited to 'phpdbg.c')
-rw-r--r-- | phpdbg.c | 27 |
1 files changed, 17 insertions, 10 deletions
@@ -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) { |