X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fprint.c;h=cf47f555fdf2867cc384549f9f7f150b0160b9ce;hb=eac461c1f1ca91cfe282c779291d582ed6b336cb;hp=9a7a3c6e0464195c0477f39d99236ad2c41afad4;hpb=5cfc11977fc09cfb6a95f3d9d485deb147b8f7d3;p=sbcl.git diff --git a/src/runtime/print.c b/src/runtime/print.c index 9a7a3c6..cf47f55 100644 --- a/src/runtime/print.c +++ b/src/runtime/print.c @@ -27,6 +27,7 @@ #include #include "thread.h" /* genesis/primitive-objects.h needs this */ #include +#include /* FSHOW and odxprint provide debugging output for low-level information * (signal handling, exceptions, safepoints) which is hard to debug by @@ -68,6 +69,7 @@ dyndebug_init() dyndebug_init1(seh, "SEH"); dyndebug_init1(misc, "MISC"); dyndebug_init1(pagefaults, "PAGEFAULTS"); + dyndebug_init1(io, "IO"); int n_output_flags = n; dyndebug_init1(backtrace_when_lost, "BACKTRACE_WHEN_LOST"); @@ -76,7 +78,9 @@ dyndebug_init() if (n != DYNDEBUG_NFLAGS) fprintf(stderr, "Bug in dyndebug_init\n"); +#if defined(LISP_FEATURE_GENCGC) gencgc_verbose = dyndebug_config.dyndebug_gencgc_verbose; +#endif char *featurelist = getenv("SBCL_DYNDEBUG"); if (featurelist) { @@ -125,6 +129,8 @@ dyndebug_init() * be restored to its full win32 branch functionality, where output to a * file or to the debugger can be selected at runtime. */ +void vodxprint_fun(const char *, va_list); + void odxprint_fun(const char *fmt, ...) { @@ -139,9 +145,8 @@ vodxprint_fun(const char *fmt, va_list args) { #ifdef LISP_FEATURE_WIN32 DWORD lastError = GetLastError(); -#else - int original_errno = errno; #endif + int original_errno = errno; QSHOW_BLOCK; @@ -178,9 +183,8 @@ vodxprint_fun(const char *fmt, va_list args) #ifdef LISP_FEATURE_WIN32 SetLastError(lastError); -#else - errno = original_errno; #endif + errno = original_errno; } /* Translate the rather awkward syntax @@ -210,6 +214,9 @@ fshow_fun(void __attribute__((__unused__)) *ignored, #ifdef LISP_FEATURE_GENCGC #include "gencgc-alloc-region.h" /* genesis/thread.h needs this */ #endif +#if defined(LISP_FEATURE_WIN32) +# include "win32-thread-private-events.h" /* genesis/thread.h needs this */ +#endif #include "genesis/static-symbols.h" #include "genesis/primitive-objects.h" #include "genesis/static-symbols.h"