Below is the commit message that I just msent for the perchild MPM.  This
MPM works again, but it still doesn't work well.  Currently, I have used
it to pass requests between processes, but it just isn't clean at all.  I
have had random failures, and I don't recommend putting this MPM into
production at all.

Hopefully in the next day or two I will have time to document how this MPM
works, and I will have time to go through and continue to scrub this code
and make it cleaner.

It is unlikely that I will do much more work on the code itself for the
next few weeks, because I only have access to a Linux box
currently.  Unfortunately, this is a threaded MPM, by definition, and
debugging threads on Linux is the most painful thing you can do.  I will
be setting up an x86 Solaris machine soon though, and I will be able to
use that box to debug this MPM.  In the meantime, if anybody has a Solaris
box that I can get access to, I would be more than happy to continue to
fix bugs in this MPM.

Hopefully, more commits tomorrow.

Ryan


rbb         2002/08/17 23:05:48

  Modified:    server/mpm/experimental/perchild perchild.c
  Log:
  This commit gets Perchild working again.  There are holes in this code
  big enough to drive a truck through, and it is NOT production quality,
  but I have successfully passed file descriptors between processes and
  served requests over the passed descriptors.  This code needs documenting,
  and vetting still.
  
  Also, in order to make things work, I had to insert the socket and the
  data read by the original process into the bottom of the filter stack so
  that the new process could use that information.  Unfortunately, that isn't
  possible to do cleanly, so I search for the CORE_IN filter, and I insert
  a brigade that I have created into it's ctx pointer.  This is a hack, and
  it means that Perchild _only_ works if you use the core filters.  Until I
  find a better way to get that information to the bottom of the filter
  stack, that is just how it is going to be.

Reply via email to