# HG changeset patch # User dholmes # Date 1439860466 14400 # Node ID 54203a323126f4a884950fec6deeb58b81b50b8d # Parent dae2d83e0ec2de7bad285a1dbdd80bd3e90dafdf 8029453: java/util/concurrent/locks/ReentrantLock/TimeoutLockLoops.java failed by timeout Reviewed-by: bdelsart, ddmitriev, dcubed diff -r dae2d83e0ec2 -r 54203a323126 src/os/linux/vm/os_linux.cpp --- a/src/os/linux/vm/os_linux.cpp Mon Aug 17 15:44:58 2015 +0100 +++ b/src/os/linux/vm/os_linux.cpp Mon Aug 17 21:14:26 2015 -0400 @@ -5922,9 +5922,11 @@ status = pthread_mutex_unlock(_mutex); assert (status == 0, "invariant"); } else { + // must capture correct index before unlocking + int index = _cur_index; status = pthread_mutex_unlock(_mutex); assert (status == 0, "invariant"); - status = pthread_cond_signal (&_cond[_cur_index]); + status = pthread_cond_signal (&_cond[index]); assert (status == 0, "invariant"); } } else {