projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Flush streams more precisely.
[sbcl.git]
/
src
/
runtime
/
print.c
diff --git
a/src/runtime/print.c
b/src/runtime/print.c
index
9a7a3c6
..
7d0c97e
100644
(file)
--- a/
src/runtime/print.c
+++ b/
src/runtime/print.c
@@
-27,6
+27,7
@@
#include <stdarg.h>
#include "thread.h" /* genesis/primitive-objects.h needs this */
#include <errno.h>
#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
/* 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(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");
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 (n != DYNDEBUG_NFLAGS)
fprintf(stderr, "Bug in dyndebug_init\n");
+#if defined(LISP_FEATURE_GENCGC)
gencgc_verbose = dyndebug_config.dyndebug_gencgc_verbose;
gencgc_verbose = dyndebug_config.dyndebug_gencgc_verbose;
+#endif
char *featurelist = getenv("SBCL_DYNDEBUG");
if (featurelist) {
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. */
* 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, ...)
{
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();
{
#ifdef LISP_FEATURE_WIN32
DWORD lastError = GetLastError();
-#else
- int original_errno = errno;
#endif
#endif
+ int original_errno = errno;
QSHOW_BLOCK;
QSHOW_BLOCK;
@@
-178,9
+184,8
@@
vodxprint_fun(const char *fmt, va_list args)
#ifdef LISP_FEATURE_WIN32
SetLastError(lastError);
#ifdef LISP_FEATURE_WIN32
SetLastError(lastError);
-#else
- errno = original_errno;
#endif
#endif
+ errno = original_errno;
}
/* Translate the rather awkward syntax
}
/* 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
#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"
#include "genesis/static-symbols.h"
#include "genesis/primitive-objects.h"
#include "genesis/static-symbols.h"