* 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.
This commit is contained in:
		| @@ -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 () | ||||
|   | ||||
		Reference in New Issue
	
	Block a user