]> granicus.if.org Git - php/commitdiff
work on #46 (handle quit local consoles gracefully)
authorkrakjoe <joe.watkins@live.co.uk>
Sun, 12 Jan 2014 16:48:10 +0000 (16:48 +0000)
committerkrakjoe <joe.watkins@live.co.uk>
Sun, 12 Jan 2014 16:48:10 +0000 (16:48 +0000)
phpdbg.c

index 481a1815db18853ba700c603e47acdcc83a5705d..1ada36c7a10beceffaa57926ee97f2bcf3fbc846 100644 (file)
--- 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) {