< prev index next >
src/hotspot/share/jfr/recorder/service/jfrPostBox.cpp
Print this page
*** 137,147 ****
return Atomic::load(&_messages) == 0;
}
int JfrPostBox::collect() {
// get pending and reset to 0
! const int messages = Atomic::xchg(0, &_messages);
if (check_waiters(messages)) {
_has_waiters = true;
assert(JfrMsg_lock->owned_by_self(), "incrementing _msg_read_serial is protected by JfrMsg_lock");
// Update made visible on release of JfrMsg_lock via fence instruction in Monitor::IUnlock.
++_msg_read_serial;
--- 137,147 ----
return Atomic::load(&_messages) == 0;
}
int JfrPostBox::collect() {
// get pending and reset to 0
! const int messages = Atomic::xchg(&_messages, 0);
if (check_waiters(messages)) {
_has_waiters = true;
assert(JfrMsg_lock->owned_by_self(), "incrementing _msg_read_serial is protected by JfrMsg_lock");
// Update made visible on release of JfrMsg_lock via fence instruction in Monitor::IUnlock.
++_msg_read_serial;
< prev index next >