You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by William A Rowe Jr <wr...@rowe-clan.net> on 2019/03/19 17:33:34 UTC

Incomplete r1667900 -

APR has a number of apr.h templates for non-./configure platforms.

It looks like the introduction of timedlocks overlooks these, this needs to
be fixed before 1.7.0 is tagged.

Yann, would you like to fix?

Index: include/apr.hnw
===================================================================
--- include/apr.hnw     (revision 1855843)
+++ include/apr.hnw     (working copy)
@@ -214,6 +214,7 @@
 #define APR_HAS_LARGE_FILES             1
 #define APR_HAS_XTHREAD_FILES           0
 #define APR_HAS_OS_UUID                 0
+#define APR_HAS_TIMEDLOCKS              ? // CONFIRM THIS

 #define APR_PROCATTR_USER_SET_REQUIRES_PASSWORD 0

Index: include/apr.hw
===================================================================
--- include/apr.hw      (revision 1855843)
+++ include/apr.hw      (working copy)
@@ -339,6 +339,7 @@
 #define APR_HAS_UNICODE_FS        1
 #define APR_HAS_PROC_INVOKED      1
 #define APR_HAS_OS_UUID           1
+#define APR_HAS_TIMEDLOCKS              ? // CONFIRM THIS

 #ifndef _WIN32_WCE
 #define APR_HAS_SENDFILE          1
Index: include/apr.hwc
===================================================================
--- include/apr.hwc     (revision 1855843)
+++ include/apr.hwc     (working copy)
@@ -336,6 +336,7 @@
 #define APR_HAS_UNICODE_FS        1
 #define APR_HAS_PROC_INVOKED      1
 #define APR_HAS_OS_UUID           1
+#define APR_HAS_TIMEDLOCKS              ? // CONFIRM THIS

 #ifndef _WIN32_WCE
 #define APR_HAS_SENDFILE          1

Re: Incomplete r1667900 -

Posted by Yann Ylavic <yl...@gmail.com>.
On Wed, Mar 20, 2019 at 1:30 AM Yann Ylavic <yl...@gmail.com> wrote:
>
> I'll try to see tomorrow what's missing.. thanks!

So I went back through the (long) thread [1] and the issues raised by
Rainer with timedwait mutexes on Solaris (8 and/or 10).
I think they are all addressed and backported to 1.7.x now, IIRC the
remaining failure was [2] which should be addressed by
r1794266/r1855959 in trunk/2.4.x respectively. Ideally Rainer could
verify that latest 1.7.x tests work on Solaris 8/10..

Regarding APR_HAS_TIMEDLOCKS, I've just set it to 1 for Windows and
Netware because they are available, and I don't know how nor if we
want to add some --disable mechanism like on unix platforms.
Btw I suppose this disable-ability on unix should remain in 1.7 for
compatibility with 1.6's ./Configure, even we have all this fixed?


[1] https://lists.apache.org/thread.html/2fa2692a952068d382c4a269da1147c2a01fd5496dbfb513884a56b1@%3Cdev.apr.apache.org%3E
[2] https://lists.apache.org/thread.html/33e32ea863f97782d35dd1a556a9bf4635ae89c909c2725a995c604e@%3Cdev.apr.apache.org%3E

Re: Incomplete r1667900 -

Posted by Yann Ylavic <yl...@gmail.com>.
On Wed, Mar 20, 2019 at 1:18 AM Yann Ylavic <yl...@gmail.com> wrote:
>
> On Tue, Mar 19, 2019 at 5:34 PM William A Rowe Jr <wr...@rowe-clan.net> wrote:
> >
> > APR has a number of apr.h templates for non-./configure platforms.
> >
> > It looks like the introduction of timedlocks overlooks these, this needs to be fixed before 1.7.0 is tagged.
> >
> > Yann, would you like to fix?
>
> What is to fix actually?
> ISTM that we don't define APR_HAS_TIMEDLOCKS on ./configure platforms
> either, do you mean HAVE_PTHREAD_MUTEX_TIMEDLOCK?
> What we have (IIRC) is the runtime APR_THREAD_MUTEX_TIMED flag to be
> used at mutex_create() time for portability (i.e. necessary on
> platforms that don't have a native waitable mutex mechanism), but
> otherwise apr_thread_mutex_timedlock() should be implemented on all
> the platforms we support. So what would APR_HAS_TIMEDLOCKS be for?

Hmm, OK, I was looking at trunk code where we don't seem to have this anymore.
I'll try to see tomorrow what's missing.. thanks!

Re: Incomplete r1667900 -

Posted by Yann Ylavic <yl...@gmail.com>.
On Tue, Mar 19, 2019 at 5:34 PM William A Rowe Jr <wr...@rowe-clan.net> wrote:
>
> APR has a number of apr.h templates for non-./configure platforms.
>
> It looks like the introduction of timedlocks overlooks these, this needs to be fixed before 1.7.0 is tagged.
>
> Yann, would you like to fix?

What is to fix actually?
ISTM that we don't define APR_HAS_TIMEDLOCKS on ./configure platforms
either, do you mean HAVE_PTHREAD_MUTEX_TIMEDLOCK?
What we have (IIRC) is the runtime APR_THREAD_MUTEX_TIMED flag to be
used at mutex_create() time for portability (i.e. necessary on
platforms that don't have a native waitable mutex mechanism), but
otherwise apr_thread_mutex_timedlock() should be implemented on all
the platforms we support. So what would APR_HAS_TIMEDLOCKS be for?