The test halts while running the pthread based APR_LOCK_PROC_PTHREAD variant. All other variants pass.
The test spawns a number of processes and then randomly locks, writes to a shared variable, waits, and unlocks on a process mutex across the different processes. When using APR_LOCK_PROC_PTHREAD, what actually happens is the first process locks and unlocks while all others are stalled.
LP: #491342 is probably related. According to that pthread spinlocks are broken on eglibc on ARM due to still using the old swp/swpb instructions.
Next step would be to replace these with __sync_* as per sysdeps/ia64/bits/atomic.h and similar.
The test halts while running the pthread based APR_LOCK_ PROC_PTHREAD variant. All other variants pass.
The test spawns a number of processes and then randomly locks, writes to a shared variable, waits, and unlocks on a process mutex across the different processes. When using APR_LOCK_ PROC_PTHREAD, what actually happens is the first process locks and unlocks while all others are stalled.
LP: #491342 is probably related. According to that pthread spinlocks are broken on eglibc on ARM due to still using the old swp/swpb instructions.
Next step would be to replace these with __sync_* as per sysdeps/ ia64/bits/ atomic. h and similar.