diff options
author | Jean-Yves Lefort <jylefort@FreeBSD.org> | 2006-02-07 01:17:15 +0800 |
---|---|---|
committer | Jean-Yves Lefort <jylefort@FreeBSD.org> | 2006-02-07 01:17:15 +0800 |
commit | 7d2904197abc0eeae0babd45cd0a66057532747c (patch) | |
tree | 85e5eb848b79f679526e6cefa50b517f9cd358de /devel/gamin | |
parent | 49065dd7a90271b9e1ab2875216f66e31f34f86a (diff) | |
download | freebsd-ports-gnome-7d2904197abc0eeae0babd45cd0a66057532747c.tar.gz freebsd-ports-gnome-7d2904197abc0eeae0babd45cd0a66057532747c.tar.zst freebsd-ports-gnome-7d2904197abc0eeae0babd45cd0a66057532747c.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/gamin')
-rw-r--r-- | devel/gamin/Makefile | 2 | ||||
-rw-r--r-- | devel/gamin/files/patch-server_gam_kqueue.c | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/devel/gamin/Makefile b/devel/gamin/Makefile index 6ec485635524..091be3877e0c 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 000000000000..3531c6d6614d --- /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)); |