Hallvard Breien Furuseth wrote:
On 05/19/2014 05:29 PM, Howard Chu wrote:
It seems he's talking specifically about the close(2) syscall taking a long
time. Someone would have to peek inside the MacOSX kernel source code to answer that question.
Right... Though I can think of one non-kernel possibility:
Previous process wrote something and got killed - maybe while fsyncing the changes. Then rapidly open and closed another mdb env - and close(sync descriptor) waits for the old changes to be synced in order to decide whether to return success or failure.
That's nonsense.
POSIX defines no such behavior for close(). In particular, close()'s success/failure result cannot depend on some other process's state.