X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fthread.c;h=8d3d36a6e6887e55b08168d245e2fb931815289b;hb=3d11412f3458048039cd8fece1db2aa6511118dc;hp=98a897cf3a394d2ac31c0562ef61633aa04283ba;hpb=d4d6c4b16a3655ce99a87d43f411391363531260;p=sbcl.git diff --git a/src/runtime/thread.c b/src/runtime/thread.c index 98a897c..8d3d36a 100644 --- a/src/runtime/thread.c +++ b/src/runtime/thread.c @@ -1,14 +1,30 @@ +/* + * This software is part of the SBCL system. See the README file for + * more information. + * + * This software is derived from the CMU CL system, which was + * written at Carnegie Mellon University and released into the + * public domain. The software is in the public domain and is + * provided with absolutely no warranty. See the COPYING and CREDITS + * files for more information. + */ + +#include "sbcl.h" + #include #include #include +#ifndef LISP_FEATURE_WIN32 #include +#endif #include #include #include #include +#ifndef LISP_FEATURE_WIN32 #include +#endif -#include "sbcl.h" #include "runtime.h" #include "validate.h" /* for CONTROL_STACK_SIZE etc */ #include "alloc.h" @@ -23,6 +39,14 @@ #include "interr.h" /* for lose() */ #include "gc-internal.h" +#ifdef LISP_FEATURE_WIN32 +/* + * Win32 doesn't have SIGSTKSZ, and we're not switching stacks anyway, + * so define it arbitrarily + */ +#define SIGSTKSZ 1024 +#endif + #define ALIEN_STACK_SIZE (1*1024*1024) /* 1Mb size chosen at random */ struct freeable_stack { @@ -304,7 +328,7 @@ void create_initial_thread(lispobj initial_function) { struct thread *th=create_thread_struct(initial_function); if(th) { initial_thread_trampoline(th); /* no return */ - } else lose("can't create initial thread"); + } else lose("can't create initial thread\n"); } #ifdef LISP_FEATURE_SB_THREAD @@ -388,7 +412,7 @@ int signal_interrupt_thread(os_thread_t os_thread) } else if (status == ESRCH) { return -1; } else { - lose("cannot send SIG_INTERRUPT_THREAD to thread=%lu: %d, %s", + lose("cannot send SIG_INTERRUPT_THREAD to thread=%lu: %d, %s\n", os_thread, status, strerror(status)); } } @@ -423,7 +447,7 @@ void gc_stop_the_world() /* This thread has exited. */ gc_assert(p->state==STATE_DEAD); } else if (status) { - lose("cannot send suspend thread=%lu: %d, %s", + lose("cannot send suspend thread=%lu: %d, %s\n", p->os_thread,status,strerror(status)); } } @@ -461,7 +485,7 @@ void gc_start_the_world() p->state=STATE_RUNNING; status=kill_thread_safely(p->os_thread,SIG_STOP_FOR_GC); if (status) { - lose("cannot resume thread=%lu: %d, %s", + lose("cannot resume thread=%lu: %d, %s\n", p->os_thread,status,strerror(status)); } }