apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <rainer.j...@kippdata.de>
Subject Re: svn commit: r1733684 - in /apr/apr/branches/1.6.x: ./ include/ include/arch/netware/ include/arch/os2/ include/arch/unix/ locks/beos/ locks/netware/ locks/os2/ locks/unix/ locks/win32/ test/
Date Mon, 19 Dec 2016 11:32:41 GMT
Hi Yann,

Am 19.12.2016 um 01:55 schrieb Yann Ylavic:
> On Sat, Dec 17, 2016 at 6:48 PM, Rainer Jung <rainer.jung@kippdata.de> wrote:
>> This commit introduced a new dependency on pthread_mutex_timedlock. Although
>> its presence is detected by configure and locks/unix/thread_mutex.c checks
>> HAVE_PTHREAD_MUTEX_TIMEDLOCK and provides an alternative implementation if
>> it is not defined, file locks/unix/proc_mutex.c uses pthread_mutex_timedlock
>> unconditionally.
>
> Thanks Rainer for noticing, hopefully fixed in r1774973.

looks good from visually checking.

> I wonder if we could fall back to using pthread_cond_timewait() like
> we do for thread_mutex, but that'd require
> pthread_condattr_setpshared() to be available on the system.
> Is it the case at least on this older Solaris?

Yes, Solaris 8 has it, get and set. They are in the man pages, in 
pthread.h and I find symbols in libpthread.so.

The full pthread function list taken from the Solaris 8 man page:

pthread_atfork()
pthread_attr_destroy()
pthread_attr_getdetachstate()
pthread_attr_getguardsize()
pthread_attr_getinheritsched()
pthread_attr_getschedparam()
pthread_attr_getschedpolicy()
pthread_attr_getscope()
pthread_attr_getstackaddr()
pthread_attr_getstacksize()
pthread_attr_init()
pthread_attr_setdetachstate()
pthread_attr_setguardsize()
pthread_attr_setinheritsched()
pthread_attr_setschedparam()
pthread_attr_setschedpolicy()
pthread_attr_setscope()
pthread_attr_setstackaddr()
pthread_attr_setstacksize()
pthread_cancel()
pthread_cleanup_pop()
pthread_cleanup_push()
pthread_cond_broadcast()
pthread_cond_destroy()
pthread_cond_init()
pthread_cond_signal()
pthread_cond_timedwait()
pthread_cond_wait()
pthread_condattr_destroy()
pthread_condattr_getpshared()
pthread_condattr_init()
pthread_condattr_setpshared()
pthread_create()
pthread_detach()
pthread_equal()
pthread_exit()
pthread_getconcurrency()
pthread_getschedparam()
pthread_getspecific()
pthread_join()
pthread_key_create()
pthread_key_delete()
pthread_kill()
pthread_mutex_destroy()
pthread_mutex_getprioceiling()
pthread_mutex_init()
pthread_mutex_lock()
pthread_mutex_setprioceiling()
pthread_mutex_trylock()
pthread_mutex_unlock()
pthread_mutexattr_destroy()
pthread_mutexattr_getprioceiling()
pthread_mutexattr_getprotocol()
pthread_mutexattr_getpshared()
pthread_mutexattr_gettype()
pthread_mutexattr_init()
pthread_mutexattr_setprioceiling()
pthread_mutexattr_setprotocol()
pthread_mutexattr_setpshared()
pthread_mutexattr_settype()
pthread_once()
pthread_rwlock_destroy()
pthread_rwlock_init()
pthread_rwlock_rdlock()
pthread_rwlock_tryrdlock()
pthread_rwlock_trywrlock()
pthread_rwlock_unlock()
pthread_rwlock_wrlock()
pthread_rwlockattr_destroy()
pthread_rwlockattr_getpshared()
pthread_rwlockattr_init()
pthread_rwlockattr_setpshared()
pthread_self()
pthread_setcancelstate()
pthread_setcanceltype()
pthread_setconcurrency()
pthread_setschedparam()
pthread_setspecific()
pthread_sigmask()
pthread_testcancel()

> It's possibly not worth it too, thoughts?

I can't judge, I haven't really looked into what the code is doing and 
how useful it would be. Just noticed the compile problem and hte 
inconsistency between the thread and proc cases. Sorry.

Regards,

Rainer

Mime
View raw message