Created attachment 177916 [details] v0 Try to use process shared mutexes with new enough libthr. I'm not a user of this port, so not sure how to test runtime. Build logs: 10.1 i386 - http://sprunge.us/iTZT 10.3 amd64 - http://sprunge.us/QaTg 11.0 i386 - http://sprunge.us/YjWF 9.3 amd64 - http://sprunge.us/GSCG 9.3 i386 - http://sprunge.us/jWSH # before $ nm -D /usr/local/bin/fio | fgrep pshared 08082aa0 T cond_init_pshared 08082b80 T mutex_cond_init_pshared 08082b10 T mutex_init_pshared # after $ nm -D /usr/local/bin/fio | fgrep pshared 080835b0 T cond_init_pshared 080836f0 T mutex_cond_init_pshared 08083650 T mutex_init_pshared U pthread_condattr_setpshared U pthread_mutexattr_setpshared U pthread_rwlockattr_setpshared
John, would DragonFly benefit from a similar fix?
Approved thanks!
A commit references this bug: Author: jbeich Date: Tue Dec 13 14:28:52 UTC 2016 New revision: 428489 URL: https://svnweb.freebsd.org/changeset/ports/428489 Log: benchmarks/fio: use pshared mutex on 11.0+ PR: 215254 Approved by: bapt (maintainer) Changes: head/benchmarks/fio/Makefile head/benchmarks/fio/files/ head/benchmarks/fio/files/patch-os_os-freebsd.h
As OS X 10.7+ also implements PTHREAD_PROCESS_SHARED upstream may want to move the check into os/os.h. Hard-coded configs are prone to bitrot.