< prev index next >

src/hotspot/share/jfr/recorder/service/jfrPostBox.cpp

Print this page

        

*** 85,95 **** void JfrPostBox::deposit(int new_messages) { while (true) { const int current_msgs = Atomic::load(&_messages); // OR the new message const int exchange_value = current_msgs | new_messages; ! const int result = Atomic::cmpxchg(exchange_value, &_messages, current_msgs); if (result == current_msgs) { return; } /* Some other thread just set exactly what this thread wanted */ if ((result & new_messages) == new_messages) { --- 85,95 ---- void JfrPostBox::deposit(int new_messages) { while (true) { const int current_msgs = Atomic::load(&_messages); // OR the new message const int exchange_value = current_msgs | new_messages; ! const int result = Atomic::cmpxchg(&_messages, current_msgs, exchange_value); if (result == current_msgs) { return; } /* Some other thread just set exactly what this thread wanted */ if ((result & new_messages) == new_messages) {
< prev index next >