diff options
author | Nicholas Marriott <nicm@openbsd.org> | 2013-04-22 08:42:19 +0000 |
---|---|---|
committer | Nicholas Marriott <nicm@openbsd.org> | 2013-04-22 08:42:19 +0000 |
commit | d89b35e6826ecaccc4d2f421c8013f35ec5854a0 (patch) | |
tree | 7a2298d1488665b1dd45e031238b95e5ca0ceaa8 | |
parent | 5dda1abc32b7b1eb59901a5592569e21d88c6ad2 (diff) | |
download | rtmux-d89b35e6826ecaccc4d2f421c8013f35ec5854a0.tar.gz rtmux-d89b35e6826ecaccc4d2f421c8013f35ec5854a0.tar.bz2 rtmux-d89b35e6826ecaccc4d2f421c8013f35ec5854a0.zip |
Use lockf which is more portable than flock, from Dagobert Michelsen.
-rw-r--r-- | client.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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); |