Solaris support
Theo Schlossnagle
jesus at omniti.com
Fri Dec 21 06:07:23 CET 2007
Hello all,
We've been running this for a while on Solaris. Works really well.
We have some minor modifications to the source tree to make it work,
but there is one minor design change to make things work well with our
ports cache_acceptor.
What we need is the function in cache_acceptor.c:
void vca_return_session(struct sess *sp);
to be delegated to the acceptor implementations. Solaris allows for
very efficient user initiated notifications across its event system
and that does that by talking directly to the port and not using the
vca_pipes.
I'd like to have a return_session element added to the acceptor
structure that is void (*return_session)(struct sess *);
And the vca_return_session function be:
void
vca_return_session(struct sess *sp)
{
vca->return_session(sp);
}
I see this as a cleaner mechanism regardless as there is no reason for
the generic cache_acceptor to care about int vca_pipes[2]; -- it's an
implementation detail. How's that sound?
I'd like to see this change in trunk before I submit my patch as it
will pretty solidly affect how the return session stuff is handled in
our changeset.
My current patch supports:
sendfile and sendfilev on solaris
using fcntl() when flock() is unavailable
A cache_acceptor_ports.c that embraces Solaris' port eventing system
--
Theo Schlossnagle
Esoteric Curio -- http://lethargy.org/
OmniTI Computer Consulting, Inc. -- http://omniti.com/
More information about the varnish-dev
mailing list