summaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd/fcntl.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2014-11-23 02:55:45 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2014-11-23 02:55:45 +0100
commit9d059c9125f57f74dacace051f0568a833ab1d0e (patch)
tree2b5854ca000aafdff270a87ea6bcce708afe21a8 /sysdeps/mach/hurd/fcntl.c
parent50d2047b54935e22adcf86ed4cdc0fd595813d53 (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.c4
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;