apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Sperling <s...@stsp.name>
Subject Re: Default Linux mutex method
Date Tue, 04 Apr 2017 08:07:00 GMT
On Mon, Apr 03, 2017 at 05:36:02PM -0500, William A Rowe Jr wrote:
> On Mon, Apr 3, 2017 at 5:00 PM, Yann Ylavic <ylavic.dev@gmail.com> wrote:
> > On Mon, Apr 3, 2017 at 9:24 PM, William A Rowe Jr <wrowe@rowe-clan.net> wrote:
> >
> >> Given that we didn't elect PROC_PTHREAD mutexes as an alternate
> >> _USE_ schema, I don't have a strong opinion about changing this
> >> for 1.6.0. It can be overridden by the implementer.
> >
> > Yes, ./configure apr_lock_method=USE_PROC_PTHREAD_SERIALIZE works.
> >
> >> It seems we really
> >> should change it on trunk and get that tested in the wild by fellow devs,
> >> at least.
> >
> > I can live with this too :)
> 
> For completeness, FC25's default after their patches;
> 
> /usr/include/apr-1/apr-x86_64.h:#define APR_USE_SHMEM_MMAP_TMP     0
> /usr/include/apr-1/apr-x86_64.h:#define APR_USE_SHMEM_MMAP_SHM     0
> /usr/include/apr-1/apr-x86_64.h:#define APR_USE_SHMEM_MMAP_ZERO    0
> /usr/include/apr-1/apr-x86_64.h:#define APR_USE_SHMEM_SHMGET_ANON  0
> /usr/include/apr-1/apr-x86_64.h:#define APR_USE_SHMEM_SHMGET       1
> /usr/include/apr-1/apr-x86_64.h:#define APR_USE_SHMEM_MMAP_ANON    1
> /usr/include/apr-1/apr-x86_64.h:#define APR_USE_SHMEM_BEOS         0
> /usr/include/apr-1/apr-x86_64.h:#define APR_USE_FLOCK_SERIALIZE           0
> /usr/include/apr-1/apr-x86_64.h:#define APR_USE_SYSVSEM_SERIALIZE         1
> /usr/include/apr-1/apr-x86_64.h:#define APR_USE_POSIXSEM_SERIALIZE        0
> /usr/include/apr-1/apr-x86_64.h:#define APR_USE_FCNTL_SERIALIZE           0
> /usr/include/apr-1/apr-x86_64.h:#define APR_USE_PROC_PTHREAD_SERIALIZE    0
> /usr/include/apr-1/apr-x86_64.h:#define APR_USE_PTHREAD_SERIALIZE         1
> 
> So RH hasn't seen fit to override the default. Feel free to compare to your
> $favorite_distro.

For APR 1.5.2 on OpenBSD 6.0 we have this:

#define APR_USE_SHMEM_MMAP_TMP     0
#define APR_USE_SHMEM_MMAP_SHM     0
#define APR_USE_SHMEM_MMAP_ZERO    0
#define APR_USE_SHMEM_SHMGET_ANON  0
#define APR_USE_SHMEM_SHMGET       1
#define APR_USE_SHMEM_MMAP_ANON    1
#define APR_USE_SHMEM_BEOS         0
#define APR_USE_FLOCK_SERIALIZE           0 
#define APR_USE_SYSVSEM_SERIALIZE         1
#define APR_USE_POSIXSEM_SERIALIZE        0
#define APR_USE_FCNTL_SERIALIZE           0
#define APR_USE_PROC_PTHREAD_SERIALIZE    0 
#define APR_USE_PTHREAD_SERIALIZE         1 

The pthread functions pthread_cond_timedwait() and pthread_mutex_timedlock()
mentioned earlier in this discussion both exist.

Once the defaults are changed on APR trunk, I can test APR trunk on
OpenBSD 6.0 (and 6.1, due for release May 1).

If anything is missing I can poke OpenBSD developers who are working
on pthreads and try to get them to add interfaces APR needs.

I can't say anything about other BSDs, I'm afraid. I don't have
the time to keep up with all of them.

Mime
View raw message