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
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.
POSIX defines no such behavior for close(). In particular, close()'s
success/failure result cannot depend on some other process's state.
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/