summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2013-06-04 10:24:43 +0000
committerCorinna Vinschen <corinna@vinschen.de>2013-06-04 10:24:43 +0000
commitedd73646f3c33f22d90957f1675308f902c6a00e (patch)
tree9e923948b0d9d08f9e4997b051fa2486fddfb029 /winsup/cygwin/fhandler.cc
parentca1dd3a9b5ac53f50c12ea146cd9aa4485ad9aa4 (diff)
downloadcygnal-edd73646f3c33f22d90957f1675308f902c6a00e.tar.gz
cygnal-edd73646f3c33f22d90957f1675308f902c6a00e.tar.bz2
cygnal-edd73646f3c33f22d90957f1675308f902c6a00e.zip
* fhandler.cc (fhandler_base::lock): Move to flock.cc.
(fhandler_base::fixup_after_exec): Reset mandatory_locking. * fhandler.h (class fhandler_base): Add mandatory_locking status flag. Add mandatory_locking accessor methods. Accommodate change throughout. (fhandler_base::mand_lock): Declare. (class fhandler_disk_file): Drop in favor of new status flag. * (fhandler_disk_file::fcntl): Call need_fork_fixup if mandatory_locking flag gets set. * flock.cc (fhandler_base::lock): Define here. (flock): Handle mandatory_locking. (lockf): Ditto. (fhandler_base::mand_lock): Define.
Diffstat (limited to 'winsup/cygwin/fhandler.cc')
-rw-r--r--winsup/cygwin/fhandler.cc8
1 files changed, 1 insertions, 7 deletions
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc
index f7e3249a5..6c284a596 100644
--- a/winsup/cygwin/fhandler.cc
+++ b/winsup/cygwin/fhandler.cc
@@ -1230,13 +1230,6 @@ fhandler_base::ioctl (unsigned int cmd, void *buf)
return res;
}
-int
-fhandler_base::lock (int, struct flock *)
-{
- set_errno (EINVAL);
- return -1;
-}
-
int __reg2
fhandler_base::fstat (struct stat *buf)
{
@@ -1553,6 +1546,7 @@ fhandler_base::fixup_after_exec ()
debug_printf ("here for '%s'", get_name ());
if (unique_id && close_on_exec ())
del_my_locks (after_exec);
+ mandatory_locking (false);
}
void
fhandler_base_overlapped::fixup_after_exec ()