summaryrefslogtreecommitdiffstats
path: root/runtime/monitor.h
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/monitor.h')
-rw-r--r--runtime/monitor.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/runtime/monitor.h b/runtime/monitor.h
index 6651768..0b5b7e5 100644
--- a/runtime/monitor.h
+++ b/runtime/monitor.h
@@ -182,12 +182,14 @@ class MonitorList {
~MonitorList();
void Add(Monitor* m);
-
void SweepMonitorList(IsMarkedTester is_marked, void* arg)
SHARED_LOCKS_REQUIRED(Locks::heap_bitmap_lock_);
-
+ void DisallowNewMonitors();
+ void AllowNewMonitors();
private:
+ bool allow_new_monitors_ GUARDED_BY(monitor_list_lock_);
Mutex monitor_list_lock_ DEFAULT_MUTEX_ACQUIRED_AFTER;
+ ConditionVariable monitor_add_condition_ GUARDED_BY(monitor_list_lock_);
std::list<Monitor*> list_ GUARDED_BY(monitor_list_lock_);
friend class Monitor;