87e3b3e46d
it relies on non-portable flock(2) semantics. Not only is flock(2) not portable, but on some OSes that do have it, it is implemented in terms of fcntl(2) locks, which are per-process rather than per-descriptor.