X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Flinux-os.h;h=6f1003cf8dd7270e2ebee82d64280343db588f9b;hb=35ab27e7aab71c94aa6be12da15603c7fd87fca8;hp=05729aeee107d367f2588efcb6e5b9b5a53fe6bf;hpb=dcf5978d9d33098e868ae6eea28e1b310038c03d;p=sbcl.git diff --git a/src/runtime/linux-os.h b/src/runtime/linux-os.h index 05729ae..6f1003c 100644 --- a/src/runtime/linux-os.h +++ b/src/runtime/linux-os.h @@ -22,23 +22,25 @@ #include #include #include -#include "target-arch-os.h" -#include "target-arch.h" - -#define linuxversion(a, b, c) (((a)<<16)+((b)<<8)+(c)) +// Needs to be defined before including target-arch.h typedef caddr_t os_vm_address_t; typedef size_t os_vm_size_t; typedef off_t os_vm_offset_t; typedef int os_vm_prot_t; +#include "target-arch-os.h" +#include "target-arch.h" +#define linuxversion(a, b, c) (((a)<<16)+((b)<<8)+(c)) + #define OS_VM_PROT_READ PROT_READ #define OS_VM_PROT_WRITE PROT_WRITE #define OS_VM_PROT_EXECUTE PROT_EXEC #define SIG_MEMORY_FAULT SIGSEGV -#define SIG_INTERRUPT_THREAD (SIGRTMIN) -#define SIG_STOP_FOR_GC (SIGRTMIN+1) -#define SIG_DEQUEUE (SIGRTMIN+2) - +/* Note that this must be higher than the highest numbered + * synchronously generated signal that we handle (that is SIGSEGV), + * due to Linux signal handling pecularities. See thread "Signal + * delivery order" from 2009-03-14 on kernel-devel@vger.kernel.org. */ +#define SIG_STOP_FOR_GC (SIGUSR2)