X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fprint.c;h=7d0c97e4c9a1620e6a12325a8a9381dc94edc433;hb=729ce57914183b7443e97544734cebe8198ae4cb;hp=9a7a3c6e0464195c0477f39d99236ad2c41afad4;hpb=5cfc11977fc09cfb6a95f3d9d485deb147b8f7d3;p=sbcl.git diff --git a/src/runtime/print.c b/src/runtime/print.c index 9a7a3c6..7d0c97e 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,8 @@ dyndebug_init() dyndebug_init1(seh, "SEH"); dyndebug_init1(misc, "MISC"); dyndebug_init1(pagefaults, "PAGEFAULTS"); + dyndebug_init1(io, "IO"); + dyndebug_init1(runtime_link, "RUNTIME_LINK"); int n_output_flags = n; dyndebug_init1(backtrace_when_lost, "BACKTRACE_WHEN_LOST"); @@ -76,7 +79,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 +130,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 +146,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 +184,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 +215,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"