FreeBSD sys_flock takes LOCK_UN over LOCK_EX over LOCK_SH, ignores other bits and fails with EBADF when none of the three is set. The operation reached the host unchanged, so malformed operations differed between hosts: Linux rejects them with EINVAL and the Windows lock tracking threw. Decode the operation before either host sees it. |
||
|---|---|---|
| .. | ||
| include | ||
| src | ||