src/os/linux/vm/os_linux.cpp

changeset 8065
54203a323126
parent 7824
bbceafdc7a5f
child 8316
626f594dffa6
     1.1 --- a/src/os/linux/vm/os_linux.cpp	Mon Aug 17 15:44:58 2015 +0100
     1.2 +++ b/src/os/linux/vm/os_linux.cpp	Mon Aug 17 21:14:26 2015 -0400
     1.3 @@ -5922,9 +5922,11 @@
     1.4          status = pthread_mutex_unlock(_mutex);
     1.5          assert (status == 0, "invariant");
     1.6        } else {
     1.7 +        // must capture correct index before unlocking
     1.8 +        int index = _cur_index;
     1.9          status = pthread_mutex_unlock(_mutex);
    1.10          assert (status == 0, "invariant");
    1.11 -        status = pthread_cond_signal (&_cond[_cur_index]);
    1.12 +        status = pthread_cond_signal (&_cond[index]);
    1.13          assert (status == 0, "invariant");
    1.14        }
    1.15      } else {

mercurial