[libphobos] Commited OSX bindings for core.sys.posix.aio

Message ID CABOHX+ch091YJ4J2zfCThLBNQVC2LL4yeb+GufTqtDbAS3feOQ@mail.gmail.com
State New
Headers show
Series
  • [libphobos] Commited OSX bindings for core.sys.posix.aio
Related show

Commit Message

Iain Buclaw Jan. 18, 2019, 12:07 a.m.
Hi,

This patch fixes build failure found when testing on OSX.

Bootstrapped and tested on x86_64-linux-gnu, though have verified is
correct on OSX.

Committed to trunk as r268050.

-- 
Iain
---

Patch

diff --git a/libphobos/libdruntime/core/sys/posix/aio.d b/libphobos/libdruntime/core/sys/posix/aio.d
index 99bd0b3475b..8300d920ca9 100644
--- a/libphobos/libdruntime/core/sys/posix/aio.d
+++ b/libphobos/libdruntime/core/sys/posix/aio.d
@@ -63,6 +63,19 @@  version (CRuntime_Glibc)
         }
     }
 }
+else version (OSX)
+{
+    struct aiocb
+    {
+        int aio_filedes;
+        off_t aio_offset;
+        void* aio_buf;   // volatile
+        size_t aio_nbytes;
+        int reqprio;
+        sigevent aio_sigevent;
+        int aio_lio_opcode;
+    }
+}
 else version (FreeBSD)
 {
     struct __aiocb_private
@@ -158,6 +171,15 @@  version (CRuntime_Glibc)
         AIO_ALLDONE
     }
 }
+else version (OSX)
+{
+    enum
+    {
+        AIO_ALLDONE = 0x1,
+        AIO_CANCELED = 0x2,
+        AIO_NOTCANCELED = 0x4,
+    }
+}
 else version (Solaris)
 {
     enum
@@ -187,6 +209,15 @@  version (CRuntime_Glibc)
         LIO_NOP
     }
 }
+else version (OSX)
+{
+    enum
+    {
+        LIO_NOP = 0x0,
+        LIO_READ = 0x1,
+        LIO_WRITE = 0x2,
+    }
+}
 else version (Solaris)
 {
     enum
@@ -215,6 +246,14 @@  version (CRuntime_Glibc)
         LIO_NOWAIT
     }
 }
+else version (OSX)
+{
+    enum
+    {
+        LIO_NOWAIT = 0x1,
+        LIO_WAIT = 0x2,
+    }
+}
 else version (Solaris)
 {
     enum
diff --git a/libphobos/libdruntime/core/sys/posix/signal.d b/libphobos/libdruntime/core/sys/posix/signal.d
index a592f6f1eb0..1ddcba91049 100644
--- a/libphobos/libdruntime/core/sys/posix/signal.d
+++ b/libphobos/libdruntime/core/sys/posix/signal.d
@@ -3465,6 +3465,14 @@  else version (DragonFlyBSD)
 }
 else version (Darwin)
 {
+    struct sigevent
+    {
+        int sigev_notify;
+        int sigev_signo;
+        sigval sigev_value;
+        void function(sigval) sigev_notify_function;
+        pthread_attr_t* sigev_notify_attributes;
+    }
 }
 else version (Solaris)
 {