diff options
Diffstat (limited to 'runtime/monitor.h')
-rw-r--r-- | runtime/monitor.h | 6 |
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; |