The problem is that in Apache we create the semaphore as root, and then
try to use it as a child process running as nobody. Of course, the
child process doesn't have the rights to access that semaphore. The
attached patch solves the problem for HP/UX, but how is this working
anywhere?
As a side note, this is actually a bug that has been waiting to bite us
for a while. Permissions in APR have never been abstracted correctly.
For the next version of APR, somebody will need to really put some
effort into abstracting permissions. I am more than happy to help, and
I have some thoughts on how to do this, but it will be VERY hard to do
correctly.
Index: build/apr_hints.m4
===================================================================
RCS file: /var/covalent/.CVS/apache-cvs/apr-cvs/build/apr_hints.m4,v
retrieving revision 1.39
diff -u -r1.39 apr_hints.m4
--- build/apr_hints.m4 2002/04/01 21:50:45 1.39
+++ build/apr_hints.m4 2002/05/01 16:11:22
@@ -79,6 +79,7 @@
APR_ADDTO(CPPFLAGS, [-DHIUX])
;;
*-hp-hpux11.*)
+ APR_SETVAR(apr_lock_method, [USE_FCNTL_SERIALIZE])
APR_ADDTO(CPPFLAGS, [-DHPUX11 -D_REENTRANT
-D_XOPEN_SOURCE_EXTENDED])
;;
*-hp-hpux10.*)
----------------------------------------------
Ryan Bloom [EMAIL PROTECTED]
645 Howard St. [EMAIL PROTECTED]
San Francisco, CA