FCNTL on Solaris
davecb at canada.sun.com
Mon Apr 22 10:31:01 GMT 2002
David Collier-Brown wrote:
> I haven't looked at the code, but if it uses F_SETLKW
> you might want to do a trylock first, implemented via
> F_GETLK or F_SETLK, as this would allow subsequent
> processes to continue, knowing that someone's fixing
> the tdb, and that they can access it later using the
> normal locking regime.
A disclaimer: that isn't the way to do case
3, it's the way to NOT do case three and be
able to execute in bounded time, instead.
I reccomend it over case 3 **rather strongly**,
as 3 goes nonlinear, and can be proved to
fail (I just drew the dfa and it was evil!!!)
The stock approach is also nonlinear, with a
higher overhead, so I guess it's doubly evil.
That other OSs don't bottleneck on it says
good things about their kernel programmers.
David Collier-Brown, | Always do right. This will gratify
Performance & Engineering | some people and astonish the rest.
Americas Customer Engineering, | -- Mark Twain
(905) 415-2849 | davecb at canada.sun.com
More information about the samba-technical