summaryrefslogtreecommitdiff
path: root/phpdbg.c
diff options
context:
space:
mode:
authorkrakjoe <joe.watkins@live.co.uk>2014-01-12 16:48:10 +0000
committerkrakjoe <joe.watkins@live.co.uk>2014-01-12 16:48:10 +0000
commit7d51e47eda97a6570ebebfc8e0d512e7575443a6 (patch)
treee8a2d5e459b9b7211ed47f84109c0eaf03bf7f66 /phpdbg.c
parent2712d7e2248ab91015502d648c9c65d8e5627e69 (diff)
downloadphp-git-7d51e47eda97a6570ebebfc8e0d512e7575443a6.tar.gz
work on #46 (handle quit local consoles gracefully)
Diffstat (limited to 'phpdbg.c')
-rw-r--r--phpdbg.c27
1 files changed, 17 insertions, 10 deletions
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) {