#include <stdarg.h>
#include "thread.h" /* genesis/primitive-objects.h needs this */
#include <errno.h>
+#include <stdlib.h>
/* FSHOW and odxprint provide debugging output for low-level information
* (signal handling, exceptions, safepoints) which is hard to debug by
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");
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) {
* 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, ...)
{
{
#ifdef LISP_FEATURE_WIN32
DWORD lastError = GetLastError();
-#else
- int original_errno = errno;
#endif
+ int original_errno = errno;
QSHOW_BLOCK;
#ifdef LISP_FEATURE_WIN32
SetLastError(lastError);
-#else
- errno = original_errno;
#endif
+ errno = original_errno;
}
/* Translate the rather awkward syntax
#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"