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

Re: Close sometime takes a long time



Hallvard Breien Furuseth wrote:
On 05/19/2014 04:05 PM, Venkat Murty wrote:
Why does close sometime take a long time?
       mdb_env_close  (in sync7320902242508427276.so) + 69  [0x112e37d35]
         mdb_env_close0  (in sync7320902242508427276.so) + 248  [0x112e37948]
            close  (in libsystem_kernel.dylib) + 10  [0x7fff8bf900c2]

Usually, happens when I have killed the process the last time.

System: Mac OS X

Do you mean when the last existing process using the enviornment
is exiting?  If so, that makes sense:

On BSD systems, mdb_env_close() attempts to upgrade the readlock
on the lockfile to a writelock.  If that succeeds, it deletes
its semaphores since this is the last process using them.

But if you mean you killed the process, started another and then
close takes a long time, I don't know why.

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.

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