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....@gmail.com> wrote: > > On Mon, Apr 3, 2017 at 9:24 PM, William A Rowe Jr <wr...@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.