Complete redesign of this MPM. This is almost working now.
HOW IT WORKS:
In the config file, the sysadmin specified:
ChildPerUserID uid gid num_processes
and in each virtual host:
AssignUserID uid gid
The MPM creates a unix domain socket for each uid/gid pair, and if any
child processes are left over, one for the default user and group
specified in the main config.
When a child process is started, it looks at what it's user id and group
id are supposed to be. It then inserts the correct socket into it's
listen array, and switches to the uid and gid specified.
When a request comes in, whichever child gets the request looks at which
child process it is actually for, and if it isn't for the current
process, the request gets forwarded through the unix domain socket to the
correct child process. From there, processing continues normally.
Currently, no requests are forwarded, but everything seems to be working.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85971 13f79535-47bb-0310-9956-ffa450edef68
Loading
Please sign in to comment