X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fdarwin-os.h;h=9d0e000b2c47f0236bb450fb3ead58bbe69979a4;hb=0285aa5ff8416027932daa001b84429be2ca559b;hp=2a7a405dbba0cb452e29df58f03d2dacada89db8;hpb=c395677d01755a46ccb82397a3481f065976773b;p=sbcl.git diff --git a/src/runtime/darwin-os.h b/src/runtime/darwin-os.h index 2a7a405..9d0e000 100644 --- a/src/runtime/darwin-os.h +++ b/src/runtime/darwin-os.h @@ -6,6 +6,7 @@ #include #include #include +#include /* man pages claim that the third argument is a sigcontext struct, but ucontext_t is defined, matches sigcontext where sensible, @@ -17,7 +18,8 @@ #if defined(LISP_FEATURE_X86) #include #include -#ifdef MAC_OS_X_VERSION_10_5 + +#if __DARWIN_UNIX03 typedef struct __darwin_ucontext os_context_t; #else typedef struct ucontext os_context_t; @@ -25,14 +27,23 @@ typedef struct ucontext os_context_t; #else -#include typedef ucontext_t os_context_t; #endif #define SIG_MEMORY_FAULT SIGBUS -#define SIG_INTERRUPT_THREAD (SIGINFO) -#define SIG_STOP_FOR_GC (SIGUSR1) -#define SIG_RESUME_FROM_GC (SIGUSR2) +#define SIG_STOP_FOR_GC (SIGUSR2) + +#ifdef LISP_FEATURE_MACH_EXCEPTION_HANDLER +extern mach_port_t current_mach_task; +#endif + +void darwin_init(void); + +#ifdef LISP_FEATURE_SB_THREAD +#define CANNOT_USE_POSIX_SEM_T +#include +typedef semaphore_t os_sem_t; +#endif #endif /* _DARWIN_OS_H */