aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authorjylefort <jylefort@FreeBSD.org>2006-02-07 01:17:15 +0800
committerjylefort <jylefort@FreeBSD.org>2006-02-07 01:17:15 +0800
commitebde2cf645698b18ad2aaf1567322e542bb70ad3 (patch)
treeed0d4e4828ed9e753e890f04bda40af082eda9fa /devel
parentcc55484ea77b5f705c57f664f61e75286597f26a (diff)
downloadfreebsd-ports-graphics-ebde2cf645698b18ad2aaf1567322e542bb70ad3.tar.gz
freebsd-ports-graphics-ebde2cf645698b18ad2aaf1567322e542bb70ad3.tar.zst
freebsd-ports-graphics-ebde2cf645698b18ad2aaf1567322e542bb70ad3.zip
Open monitored files with the O_NONBLOCK flag: prevents gam_server
from locking up when a file for which open() blocks forever is monitored.
Diffstat (limited to 'devel')
-rw-r--r--devel/gamin/Makefile2
-rw-r--r--devel/gamin/files/patch-server_gam_kqueue.c20
2 files changed, 21 insertions, 1 deletions
diff --git a/devel/gamin/Makefile b/devel/gamin/Makefile
index 6ec48563552..091be3877e0 100644
--- a/devel/gamin/Makefile
+++ b/devel/gamin/Makefile
@@ -7,7 +7,7 @@
PORTNAME= gamin
PORTVERSION= 0.1.5
-PORTREVISION?= 2
+PORTREVISION?= 3
CATEGORIES?= devel
MASTER_SITES= http://www.gnome.org/~veillard/gamin/sources/
diff --git a/devel/gamin/files/patch-server_gam_kqueue.c b/devel/gamin/files/patch-server_gam_kqueue.c
new file mode 100644
index 00000000000..3531c6d6614
--- /dev/null
+++ b/devel/gamin/files/patch-server_gam_kqueue.c
@@ -0,0 +1,20 @@
+--- server/gam_kqueue.c.orig Mon Feb 6 18:00:49 2006
++++ server/gam_kqueue.c Mon Feb 6 18:01:25 2006
+@@ -31,7 +31,7 @@
+ * - kqueue needs to be moved out the UFS code.
+ *
+ * Copyright (C) 2005 Joe Marcus Clarke <marcus@FreeBSD.org>
+- * Copyright (C) 2005 Jean-Yves Lefort <jylefort@FreeBSD.org>
++ * Copyright (C) 2005, 2006 Jean-Yves Lefort <jylefort@FreeBSD.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+@@ -515,7 +515,7 @@
+ return FALSE;
+ }
+
+- mon->fd = open(mon->pathname, O_RDONLY | O_NOFOLLOW);
++ mon->fd = open(mon->pathname, O_RDONLY | O_NONBLOCK | O_NOFOLLOW);
+ if (mon->fd < 0)
+ {
+ GAM_DEBUG(DEBUG_INFO, "cannot open %s (%s), falling back to poll\n", mon->pathname, g_strerror(errno));