Fix make-array transforms.
[sbcl.git] / src / runtime / darwin-os.h
index 2a7a405..9d0e000 100644 (file)
@@ -6,6 +6,7 @@
 #include <mach/mach_init.h>
 #include <mach/task.h>
 #include <AvailabilityMacros.h>
+#include <sys/cdefs.h>
 
 /* 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 <sys/ucontext.h>
 #include <sys/_types.h>
-#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 <ucontext.h>
 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 <mach/semaphore.h>
+typedef semaphore_t os_sem_t;
+#endif
 
 #endif /* _DARWIN_OS_H */