summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/phpdbg_sigio_win32.c
diff options
context:
space:
mode:
authorFerenc Kovacs <tyrael@php.net>2014-11-26 18:38:36 +0100
committerFerenc Kovacs <tyrael@php.net>2014-11-26 18:38:36 +0100
commit0afc04b91394a2b8d3d33531810ee0256088408d (patch)
tree6d2200f8d41cfff450df09bdc4b4f2802567b8d7 /sapi/phpdbg/phpdbg_sigio_win32.c
parentfa2a2a105900e36f8882093c8c48e0ecfeb4b3ac (diff)
downloadphp-git-0afc04b91394a2b8d3d33531810ee0256088408d.tar.gz
go back with phpdbg to the state of 5.6.3, reverting the controversial commits(remote debugging/xml protocol)
Diffstat (limited to 'sapi/phpdbg/phpdbg_sigio_win32.c')
-rw-r--r--sapi/phpdbg/phpdbg_sigio_win32.c117
1 files changed, 0 insertions, 117 deletions
diff --git a/sapi/phpdbg/phpdbg_sigio_win32.c b/sapi/phpdbg/phpdbg_sigio_win32.c
deleted file mode 100644
index 158e034872..0000000000
--- a/sapi/phpdbg/phpdbg_sigio_win32.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 5 |
- +----------------------------------------------------------------------+
- | Copyright (c) 7-4 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.01 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_01.txt |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Anatol Belski <ab@php.net> |
- +----------------------------------------------------------------------+
-*/
-
-
-#include <signal.h>
-
-#include "phpdbg.h"
-#include "phpdbg_sigio_win32.h"
-
-
-ZEND_EXTERN_MODULE_GLOBALS(phpdbg);
-
-
-VOID
-SigIoWatcherThread(VOID *p)
-{
- zend_uchar sig;
- struct win32_sigio_watcher_data *swd = (struct win32_sigio_watcher_data *)p;
-#ifdef ZTS
- void ***tsrm_ls = swd->tsrm_ls;
-#endif
-
-top:
- (void)phpdbg_consume_bytes(swd->fd, &sig, 1, -1 TSRMLS_CC);
-
-
- if (3 == sig) {
- /* XXX completely not sure it is done right here */
- if (PHPDBG_G(flags) & PHPDBG_IS_INTERACTIVE) {
- if (raise(sig)) {
- goto top;
- }
- }
- if (PHPDBG_G(flags) & PHPDBG_IS_SIGNALED) {
- phpdbg_set_sigsafe_mem(&sig TSRMLS_CC);
- zend_try {
- phpdbg_force_interruption(TSRMLS_C);
- } zend_end_try();
- phpdbg_clear_sigsafe_mem(TSRMLS_C);
- goto end;
- }
- if (!(PHPDBG_G(flags) & PHPDBG_IS_INTERACTIVE)) {
- PHPDBG_G(flags) |= PHPDBG_IS_SIGNALED;
- }
-end:
- /* XXX set signaled flag to the caller thread, question is - whether it's needed */
- ExitThread(sig);
- } else {
- goto top;
- }
-}
-
-
-/* Start this only for the time of the run or eval command,
-for so long that the main thread is busy serving some debug
-session. */
-void
-sigio_watcher_start(void)
-{
- TSRMLS_FETCH();
-
- PHPDBG_G(swd).fd = PHPDBG_G(io)[PHPDBG_STDIN].fd;
-#ifdef ZTS
- PHPDBG_G(swd).tsrm_ls = tsrm_ls;
-#endif
-
- PHPDBG_G(sigio_watcher_thread) = CreateThread(
- NULL,
- 0,
- (LPTHREAD_START_ROUTINE)SigIoWatcherThread,
- &PHPDBG_G(swd),
- 0,
- NULL);
-}
-
-void
-sigio_watcher_stop(void)
-{
- DWORD waited;
- TSRMLS_FETCH();
-
- if (INVALID_HANDLE_VALUE == PHPDBG_G(sigio_watcher_thread)) {
- /* it probably did bail out already */
- return;
- }
-
- waited = WaitForSingleObject(PHPDBG_G(sigio_watcher_thread), 300);
-
- if (WAIT_OBJECT_0 != waited) {
- if (!CancelSynchronousIo(PHPDBG_G(sigio_watcher_thread))) {
- /* error out */
- }
-
- if (!TerminateThread(PHPDBG_G(sigio_watcher_thread), 0)) {
- /* error out */
- }
- }
-
- PHPDBG_G(swd).fd = -1;
- PHPDBG_G(sigio_watcher_thread) = INVALID_HANDLE_VALUE;
-}
-