aboutsummaryrefslogtreecommitdiff
path: root/client.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2013-04-23 08:26:04 +0100
committerThomas Adam <thomas@xteddy.org>2013-04-23 08:26:04 +0100
commitcd60e57b6ac682a56fd66d70af4c5922315b5a9a (patch)
treea76972a47860584e78d4595958bc68c6e97e303a /client.c
parentc24b58e2ee8691870736959deb252c225b205b4d (diff)
parent3d2b7d5bce9532cedd647ace319afbf95ebe0e20 (diff)
downloadrtmux-cd60e57b6ac682a56fd66d70af4c5922315b5a9a.tar.gz
rtmux-cd60e57b6ac682a56fd66d70af4c5922315b5a9a.tar.bz2
rtmux-cd60e57b6ac682a56fd66d70af4c5922315b5a9a.zip
Merge branch 'obsd-master'
Sync from OpenBSD.
Diffstat (limited to 'client.c')
-rw-r--r--client.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/client.c b/client.c
index 91f47650..691ace31 100644
--- a/client.c
+++ b/client.c
@@ -78,8 +78,8 @@ client_get_lock(char *lockfile)
if ((lockfd = open(lockfile, O_WRONLY|O_CREAT, 0600)) == -1)
fatal("open failed");
- if (flock(lockfd, LOCK_EX|LOCK_NB) == -1 && errno == EWOULDBLOCK) {
- while (flock(lockfd, LOCK_EX) == -1 && errno == EINTR)
+ if (lockf(lockfd, F_TLOCK, 0) == -1 && errno == EAGAIN) {
+ while (lockf(lockfd, F_LOCK, 0) == -1 && errno == EINTR)
/* nothing */;
close(lockfd);
return (-1);