< prev index next >
src/hotspot/share/services/diagnosticFramework.cpp
Print this page
*** 435,447 ****
GrowableArray<DCmdArgumentInfo*>* DCmdWithParser::argument_info_array() const {
return _dcmdparser.argument_info_array();
}
void DCmdFactory::push_jmx_notification_request() {
! MutexLocker ml(Service_lock, Mutex::_no_safepoint_check_flag);
_has_pending_jmx_notification = true;
! Service_lock->notify_all();
}
void DCmdFactory::send_notification(TRAPS) {
DCmdFactory::send_notification_internal(THREAD);
// Clearing pending exception to avoid premature termination of
--- 435,447 ----
GrowableArray<DCmdArgumentInfo*>* DCmdWithParser::argument_info_array() const {
return _dcmdparser.argument_info_array();
}
void DCmdFactory::push_jmx_notification_request() {
! MutexLocker ml(Notification_lock, Mutex::_no_safepoint_check_flag);
_has_pending_jmx_notification = true;
! Notification_lock->notify_all();
}
void DCmdFactory::send_notification(TRAPS) {
DCmdFactory::send_notification_internal(THREAD);
// Clearing pending exception to avoid premature termination of
*** 453,463 ****
void DCmdFactory::send_notification_internal(TRAPS) {
ResourceMark rm(THREAD);
HandleMark hm(THREAD);
bool notif = false;
{
! MutexLocker ml(Service_lock, Mutex::_no_safepoint_check_flag);
notif = _has_pending_jmx_notification;
_has_pending_jmx_notification = false;
}
if (notif) {
--- 453,463 ----
void DCmdFactory::send_notification_internal(TRAPS) {
ResourceMark rm(THREAD);
HandleMark hm(THREAD);
bool notif = false;
{
! MutexLocker ml(Notification_lock, Mutex::_no_safepoint_check_flag);
notif = _has_pending_jmx_notification;
_has_pending_jmx_notification = false;
}
if (notif) {
< prev index next >