httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan Bloom <>
Subject Re: cvs commit: apache-2.0/src/lib/apr/time/unix time.c
Date Thu, 07 Oct 1999 13:12:20 GMT

> But, there is one other problem I just noticed, which is that the lock
> is created in the memory context of the first ap_time_t that uses
> SAFETY_LOCK. If that context is destroyed, the lock goes away. The
> lock has to be in a persistant location (NULL context?).

This cannot be helped.  We could use the ap_palloc(NULL, trick but that
will be going away as soon as we all agree on how memory allocation should
be done in APR.  The correct solution, would be to allocate these during
the ap_initialize function that is required in all APR functions.  The
only problem, is that I want to be able to specify that certain APR
modules aren't to be compiled in.  For example, if Apache decides to do
it's own signals work (which I think we have), then when Apache compiles
APR the signaling module should not be included.  I haven't put this
ability into the configure script yet, but I will be doing it soon.  When
I do, that will complicate matters if I have lock creation in
ap_initialize.  The answer to the problem is easy, but the fix that goes
along with that answer is harder.  I'll hopefully get to it soon, but it
has to come after the parameter re-order, the Thread-safe fixes, and the
process work that is currently being done.  I will not make any promises
on when that will be.  In the mean-time, this will work with a minimal
performance hit.

> And why are we using a cross-process lock?

Because I am an idiot and wasn't paying attention.  Fixed sometime today.

> Ralf brought this up as a concern. It appears that there are two
> different defines that indicate the existence of the _r functions.  If
> the _r functions exist on a system with the old define
> (_POSIX_REENTRANT_FUNCTIONS) but not the new one, then they may be
> from an old spec with different definitions. I don't know (and web
> searches have come up with nothing), which is why I'm asking.

I still see this as a broken platform.  However, the framework as it
currently stands, will handle this case with few modifications.  I do not
want to deal with this case right now, because ot makes a lot of the
macros VERY ugly.  If we find out we need this change, we can make it


Ryan Bloom
4205 S Miami Blvd	
RTP, NC 27709		It's a beautiful sight to see good dancers 
			doing simple steps.  It's a painful sight to
			see beginners doing complicated patterns.	

View raw message