[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Close sometime takes a long time



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.

--
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/