summaryrefslogtreecommitdiff
path: root/sysutils/dbus
diff options
context:
space:
mode:
authorobache <obache@pkgsrc.org>2014-04-29 10:18:54 +0000
committerobache <obache@pkgsrc.org>2014-04-29 10:18:54 +0000
commit80842cf9f926b30f1dce46dd6606e8818bb7ce6e (patch)
treef10ce865ad5dfdbd26cf7878b4d61aeb14bb0d78 /sysutils/dbus
parent4d536c02dd907a347ba1ee3235aad46cd57f364b (diff)
downloadpkgsrc-80842cf9f926b30f1dce46dd6606e8818bb7ce6e.tar.gz
Fixes for platforms that KQUEUE is supported but missing O_CLOEXEC.
Diffstat (limited to 'sysutils/dbus')
-rw-r--r--sysutils/dbus/distinfo3
-rw-r--r--sysutils/dbus/patches/patch-bus_dir-watch-kqueue.c23
2 files changed, 25 insertions, 1 deletions
diff --git a/sysutils/dbus/distinfo b/sysutils/dbus/distinfo
index e8e09e17179..29e8792927e 100644
--- a/sysutils/dbus/distinfo
+++ b/sysutils/dbus/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.50 2014/04/24 09:40:08 wiz Exp $
+$NetBSD: distinfo,v 1.51 2014/04/29 10:18:54 obache Exp $
SHA1 (dbus-1.8.0.tar.gz) = d14ab33e92e29fa732cdff69214913832181e737
RMD160 (dbus-1.8.0.tar.gz) = f0a4e143d7bd9d97cee1e0e59140e17eee92c132
@@ -8,4 +8,5 @@ SHA1 (patch-ak) = 6d05ebde29acb3f6cb6f577dd2f2b734f590e8dd
SHA1 (patch-al) = 57d08196e9daf49eb6bda2b30f019ce2cad77c6f
SHA1 (patch-am) = 8c794ff8b0981e90243ee20c26ae1ecc72e68de8
SHA1 (patch-ba) = f9126faf18cd19e897865748ebea1011fe516225
+SHA1 (patch-bus_dir-watch-kqueue.c) = c5fa69bcb9d9c5716b02e1d2d0b49385846a2426
SHA1 (patch-dbus_dbus-sysdeps-unix.c) = c4c22674285b0b37a476fe5d8f508feec918dc03
diff --git a/sysutils/dbus/patches/patch-bus_dir-watch-kqueue.c b/sysutils/dbus/patches/patch-bus_dir-watch-kqueue.c
new file mode 100644
index 00000000000..558509303c4
--- /dev/null
+++ b/sysutils/dbus/patches/patch-bus_dir-watch-kqueue.c
@@ -0,0 +1,23 @@
+$NetBSD: patch-bus_dir-watch-kqueue.c,v 1.1 2014/04/29 10:18:54 obache Exp $
+
+* For platforms missing O_CLOEXEC
+https://bugs.freedesktop.org/show_bug.cgi?id=77032
+
+--- bus/dir-watch-kqueue.c.orig 2014-01-06 16:02:19.000000000 +0000
++++ bus/dir-watch-kqueue.c
+@@ -259,7 +259,15 @@ bus_set_watched_dirs (BusContext *contex
+ /* FIXME - less lame error handling for failing to add a watch;
+ * we may need to sleep.
+ */
++#ifdef O_CLOEXEC
+ fd = open (new_dirs[i], O_RDONLY | O_CLOEXEC);
++
++ if (fd < 0 && errno == EINVAL)
++#endif
++ {
++ fd = open (new_dirs[i], O_RDONLY);
++ _dbus_fd_set_close_on_exec (fd);
++ }
+ if (fd < 0)
+ {
+ if (errno != ENOENT)