X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fdarwin-os.h;h=9d0e000b2c47f0236bb450fb3ead58bbe69979a4;hb=c8617f57d0413beb2890e94dabe227cef9c5ddad;hp=b93fa2b5c03a5e168c9f06cae378e0792266b564;hpb=402958f92506b9d3de852601b8c1ccb99b5ee558;p=sbcl.git diff --git a/src/runtime/darwin-os.h b/src/runtime/darwin-os.h index b93fa2b..9d0e000 100644 --- a/src/runtime/darwin-os.h +++ b/src/runtime/darwin-os.h @@ -5,6 +5,8 @@ #include #include +#include +#include /* man pages claim that the third argument is a sigcontext struct, but ucontext_t is defined, matches sigcontext where sensible, @@ -16,17 +18,32 @@ #if defined(LISP_FEATURE_X86) #include #include + +#if __DARWIN_UNIX03 +typedef struct __darwin_ucontext os_context_t; +#else typedef struct ucontext os_context_t; +#endif + #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 */