Windows console I/O overhaul
[sbcl.git] / src / runtime / runtime.h
index 4082541..e3ff2d7 100644 (file)
 #ifndef _SBCL_RUNTIME_H_
 #define _SBCL_RUNTIME_H_
 
+#if defined(LISP_FEATURE_WIN32) && defined(LISP_FEATURE_SB_THREAD)
+# include "pthreads_win32.h"
+#else
+# include <signal.h>
+# ifdef LISP_FEATURE_SB_THREAD
+#  include <pthread.h>
+# endif
+#endif
+
+#include <stdint.h>
+
 #if defined(LISP_FEATURE_SB_THREAD)
 #define thread_self() pthread_self()
 #define thread_kill pthread_kill
 #define thread_mutex_unlock(l) 0
 #endif
 
+#if defined(LISP_FEATURE_WIN32) && defined(LISP_FEATURE_SB_THREAD)
+void os_preinit();
+#endif
+
 #if defined(LISP_FEATURE_SB_SAFEPOINT)
 void map_gc_page();
 void unmap_gc_page();
@@ -115,6 +130,7 @@ extern struct dyndebug_config {
     int dyndebug_pagefaults;
     int dyndebug_backtrace_when_lost;
     int dyndebug_sleep_when_lost;
+    int dyndebug_io;
 } dyndebug_config;
 
 #ifdef LISP_FEATURE_GENCGC
@@ -125,7 +141,6 @@ void dyndebug_init(void);
 
 #if QSHOW_SIGNAL_SAFE == 1 && !defined(LISP_FEATURE_WIN32)
 
-#include <signal.h>
 extern sigset_t blockable_sigset;
 
 #define QSHOW_BLOCK                                             \
@@ -178,7 +193,6 @@ typedef unsigned long pointer_sized_uint_t ;
 #include <sys/types.h>
 
 #if defined(LISP_FEATURE_SB_THREAD)
-#include <pthread.h>
 typedef pthread_t os_thread_t;
 #else
 typedef pid_t os_thread_t;