[patch] POSIX advisory mode lock panic fix by Dfly

Matthew Dillon dillon at apollo.backplane.com
Thu Apr 22 01:02:26 PDT 2004

:Joerg Sonnenberger <joerg at xxxxxxxxxxxxxxxxx> scribbled:
:> OK, here is the updated version. I moved the actual handling into lockf.h,
:> only the rlimit check is left in resource.c and the call to lf_count_adjust.
:> Matt, what do you think?
:> Joerg
:This looks like what I had finished last night and is actually almost
:totally identical except for a couple of variable names ^_^. Nice work.
:Kind regards,
:Devon H. O'Dell

    Well, I would say that we are almost there.

    I'm a bit confused about lf_count_adjust() ... why is it changing
    the newowner pointer?  Maybe you meant newowner->ui_posixlocks +=
    instead of newowner +=  ?

    lf_count_increment() is still entanged with the resource check.
    lf_count_increment() should be integrated with or called from
    the allocation code, and the resource check should be done 
    separately.  lf_count_decrement() should be integrated with the
    structure freeing code.  When you have the increment/decrement
    disconnected the way it is in the patch, chances are very high that
    bugs will creep in.

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>

More information about the Submit mailing list