apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luke Kenneth Casson Leighton <l...@samba-tng.org>
Subject Re: mem locking (was: Re: cvs commit: apr/memory/unix apr_sms.c)
Date Mon, 11 Jun 2001 14:47:55 GMT
> > > or, you mandate providing locking, emulating regions by
> > > ... errr.... providing ref-counting on a global lock (yuck!)
> > > 
> > > hm, that don't work.  nope: have to do the lock and
> > > lock_region, then have a means for Users to detect
> > > that a lock_region function is available / supported.
> > > 
> > > you know, this is all tending to suggest having a
> > > 'apr_sms_get_features()' fn, returning a bitfield
> > > of supported features.
> > 
> > You can emulate regions with global locks and shared memory, of course.
> > And still tell people which you support natively.
> > 
> > Don't know whether its worth it - does anyone have any views?

hiya ben,

well... yes, i do: i wouldn't recommend making anything
such as emulation of range locking 'mandatory' in sms.

it's quite complex, i guarantee you: see samba's
emulation of NT byte-locking on top of posix range locks!
given that... okay, it's a long story.  trust me: you
don't ever want to try it :) :)

anyway - the point of sms is KISS.  to the extent that we're
having quite complex discussions right now, as experienced
experts and developers, to stave off and help justify _not_
adding in complexity.

the fine line between simplicity/complexity and necessary/nice-to-have
_can_ be walked :)

so, my recommendation is, make range_locking() either
non-existent [favoured by some because i didn't mention
a justification for adding it, *duuh* :)] or optional.

i mean, to be honest, the number of smses that are likely
to _use_ range_locking() is probably going to be quite
small, although i can't speak for the people whose job it
is to worry about speedspeedspeedoptimiseoptimiseoptimise
in apr/httpd, esp. in the area memory handling :)  i only
recommend range_locking() as a possible way to provide
that speedoptimising if it's thought necessary.

otherwise, it doesn't bother me particularly if it's
not added.

all best ben,


View raw message