summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2000-06-16 01:54:56 +0000
committerZeev Suraski <zeev@php.net>2000-06-16 01:54:56 +0000
commitef0bd3d102aef4909b5107a327d37c549fd879b0 (patch)
tree8e2d5e3e0150bd0e1d022833de17efc95c627e61 /Zend/zend_execute.c
parentf29eae1302093b66fb68a5b83689d990b368cd7c (diff)
downloadphp-git-ef0bd3d102aef4909b5107a327d37c549fd879b0.tar.gz
- Move timeout code to Zend
- Implement timeouts in Win32
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index f8169fae48..9df261a58c 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -955,6 +955,9 @@ void execute(zend_op_array *op_array ELS_DC)
temp_variable Ts[op_array->T];
#endif
zend_bool original_in_execution=EG(in_execution);
+#ifdef ZEND_WIN32
+ MSG timeout_message;
+#endif
EG(in_execution) = 1;
#if SUPPORT_INTERACTIVE
@@ -993,6 +996,11 @@ void execute(zend_op_array *op_array ELS_DC)
#else
while (1) {
#endif
+#ifdef ZEND_WIN32
+ while (PeekMessage(&timeout_message, EG(timeout_window), 0, 0, PM_REMOVE)) {
+ DispatchMessage(&timeout_message);
+ }
+#endif
switch(opline->opcode) {
case ZEND_ADD:
EG(binary_op) = add_function;