From: Simon Schubert Date: Tue, 21 Jul 2009 23:21:44 +0000 (+0200) Subject: dma: don't block when trying to aquire a queue file X-Git-Tag: v2.4.0~402^2~2 X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/b95bffd0bae1f4dcf763f209ee67c294646b73ae dma: don't block when trying to aquire a queue file We might race with some other process, so it is imperative to treat a locked file as a soft error instead of blocking on the file until the other process unlocks it. --- diff --git a/libexec/dma/spool.c b/libexec/dma/spool.c index d9d17e2839..9a74620220 100644 --- a/libexec/dma/spool.c +++ b/libexec/dma/spool.c @@ -308,7 +308,7 @@ aquirespool(struct qitem *it) int queuefd; if (it->queuef == NULL) { - queuefd = open_locked(it->queuefn, O_RDWR); + queuefd = open_locked(it->queuefn, O_RDWR|O_NONBLOCK); if (queuefd < 0) goto fail; it->queuef = fdopen(queuefd, "r+");