From 1d21ce334f9481ae9eaed190f78793944a0ca8ea Mon Sep 17 00:00:00 2001 From: alexrp Date: Wed, 10 Oct 2012 03:09:50 +0200 Subject: [PATCH] Fix issue #7112 - add core.sys.linux.sys.signalfd module. --- posix.mak | 2 ++ src/core/sys/linux/sys/signalfd.d | 42 +++++++++++++++++++++++++++++++ win32.mak | 1 + win64.mak | 1 + 4 files changed, 46 insertions(+) create mode 100644 src/core/sys/linux/sys/signalfd.d diff --git a/posix.mak b/posix.mak index b0858582ccf..c7098bfa6bb 100644 --- a/posix.mak +++ b/posix.mak @@ -102,6 +102,7 @@ MANIFEST= \ \ src/core/sys/linux/execinfo.d \ src/core/sys/linux/epoll.d \ + src/core/sys/linux/sys/signalfd.d \ src/core/sys/linux/sys/xattr.d \ \ src/core/sys/osx/execinfo.d \ @@ -467,6 +468,7 @@ COPY=\ \ $(IMPDIR)/core/sys/linux/execinfo.d \ $(IMPDIR)/core/sys/linux/epoll.d \ + $(IMPDIR)/core/sys/linux/sys/signalfd.d \ $(IMPDIR)/core/sys/linux/sys/xattr.d \ \ $(IMPDIR)/core/sys/osx/execinfo.d \ diff --git a/src/core/sys/linux/sys/signalfd.d b/src/core/sys/linux/sys/signalfd.d new file mode 100644 index 00000000000..5d4cb674955 --- /dev/null +++ b/src/core/sys/linux/sys/signalfd.d @@ -0,0 +1,42 @@ +/** + * D header file for Linux. + * + * Copyright: Copyright Alex Rønne Petersen 2012. + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) + * Authors: Alex Rønne Petersen + */ +module core.sys.linux.sys.signalfd; + +import core.sys.posix.signal; + +version (linux): + +extern (C): +@system: +nothrow: + +struct signalfd_siginfo +{ + uint ssi_signo; + int ssi_errno; + int ssi_code; + uint ssi_pid; + uint ssi_uid; + int ssi_fd; + uint ssi_tid; + uint ssi_band; + uint ssi_overrun; + uint ssi_trapno; + int ssi_status; + int ssi_int; + ulong ssi_ptr; + ulong ssi_utime; + ulong ssi_stime; + ulong ssi_addr; + ubyte[48] __pad; +} + +enum SFD_CLOEXEC = 0x80000; // 02000000 +enum SFD_NONBLOCK = 0x800; // 04000 + +int signalfd (int __fd, const(sigset_t)* __mask, int __flags); diff --git a/win32.mak b/win32.mak index 42bca45e7a6..f0ee1f2d4a2 100644 --- a/win32.mak +++ b/win32.mak @@ -84,6 +84,7 @@ MANIFEST= \ \ src\core\sys\linux\execinfo.d \ src\core\sys\linux\epoll.d \ + src\core\sys\linux\sys\signalfd.d \ src\core\sys\linux\sys\xattr.d \ \ src\core\sys\osx\execinfo.d \ diff --git a/win64.mak b/win64.mak index 5187c3d30e9..3c071df0abc 100644 --- a/win64.mak +++ b/win64.mak @@ -91,6 +91,7 @@ MANIFEST= \ \ src\core\sys\linux\execinfo.d \ src\core\sys\linux\epoll.d \ + src\core\sys\linux\sys\signalfd.d \ src\core\sys\linux\sys\xattr.d \ \ src\core\sys\osx\execinfo.d \