summaryrefslogtreecommitdiffstats
path: root/otherlibs/win32unix/windbug.h
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2010-05-25 13:01:06 +0000
committerXavier Leroy <xavier.leroy@inria.fr>2010-05-25 13:01:06 +0000
commit734b8051613d689f7f45962c78f7681ada21d320 (patch)
treeb30a2c6d758b212af4056d397264e9c19994b98a /otherlibs/win32unix/windbug.h
parente671780b01a86ad3f126017e814d126b8e4df1f9 (diff)
Patch provided by Sylvain Le Gall:
- Fix #4894: Windows (mingw): Unix.select and non-blocking sockets, add a filedescr.flags_fd in win32unix/unixsupport.h. It contains the non-blocking status of the associated filedescr and helps to restore this status after a select. - Fix #4789: Windows: Unix.select failing with EPIPE error, Apply patch provided by J. Vouillon - Fix #4973: Failure "Unknown handle", Be consistent between Windows and Linux, raise an EBADF Unix_error for a closed pipe handle. - Fix #4844: Unix.select bug (triggered if linked against threads), Apply patch by C. Bauer, replace lpOrig by lpOrigIdx which can survive a GC collection For otherlibs/win32unix/{select|windbug}.c: - Remove Heap* fucntions to allocate/free memory and replace it by caml_stat_* function, which are more OCaml compliant - Rework DBUG message, use DEBUG_PRINT rather than #ifdef DBUG... #endif and use DEBUG variable (more OCaml compliant), also remove dbug_init functions and use a static variable to replace it (subject to race condition but this not really important, because every path lead to same initialization) - Use a fast start scheme for pipe polling, rather than always waiting 10ms, start by 1, 2, 4, 8 and then 10ms. The 4 first times give select a chance to a fast answer. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10467 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/win32unix/windbug.h')
-rw-r--r--otherlibs/win32unix/windbug.h21
1 files changed, 5 insertions, 16 deletions
diff --git a/otherlibs/win32unix/windbug.h b/otherlibs/win32unix/windbug.h
index 232bb1989..69cbd3b6e 100644
--- a/otherlibs/win32unix/windbug.h
+++ b/otherlibs/win32unix/windbug.h
@@ -13,17 +13,15 @@
/* $Id$ */
-/*#define DBUG*/
-
-#ifdef DBUG
+#ifdef DEBUG
#include <stdio.h>
#include <windows.h>
-#define DBUG_PRINT(fmt, ...) \
+#define DEBUG_PRINT(fmt, ...) \
do \
{ \
- if (dbug_test()) \
+ if (debug_test()) \
{ \
fprintf(stderr, "DBUG (pid:%d, tid: %d): ", GetCurrentProcessId(), GetCurrentThreadId()); \
fprintf(stderr, fmt, __VA_ARGS__); \
@@ -32,18 +30,9 @@
}; \
} while(0)
-/* Initialize and cleanup dbug variable */
-void dbug_init (void);
-void dbug_cleanup (void);
-
/* Test if we are in dbug mode */
-int dbug_test (void);
-
-#define DBUG_INIT dbug_init()
-#define DBUG_CLEANUP dbug_cleanup()
+int debug_test (void);
#else
-#define DBUG_PRINT(fmt, ...)
-#define DBUG_INIT
-#define DBUG_CLEANUP
+#define DEBUG_PRINT(fmt, ...)
#endif