diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2014-11-23 02:55:45 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2014-11-23 02:55:45 +0100 |
commit | 9d059c9125f57f74dacace051f0568a833ab1d0e (patch) | |
tree | 2b5854ca000aafdff270a87ea6bcce708afe21a8 /sysdeps/mach/hurd/fcntl.c | |
parent | 50d2047b54935e22adcf86ed4cdc0fd595813d53 (diff) |
Add an atomic flag
to handle EX->SH atomically, and not only SH->EX
Diffstat (limited to 'sysdeps/mach/hurd/fcntl.c')
-rw-r--r-- | sysdeps/mach/hurd/fcntl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/mach/hurd/fcntl.c b/sysdeps/mach/hurd/fcntl.c index b827fec3c2..8a8308f491 100644 --- a/sysdeps/mach/hurd/fcntl.c +++ b/sysdeps/mach/hurd/fcntl.c @@ -150,8 +150,8 @@ __libc_fcntl (int fd, int cmd, ...) } switch (fl->l_type) { - case F_RDLCK: cmd |= LOCK_SH; break; - case F_WRLCK: cmd |= LOCK_SH | LOCK_EX; break; + case F_RDLCK: cmd |= LOCK_SH | __LOCK_ATOMIC; break; + case F_WRLCK: cmd |= LOCK_EX | __LOCK_ATOMIC; break; case F_UNLCK: cmd |= LOCK_UN; break; default: errno = EINVAL; |