@@ -87,7 +87,7 @@ bool Broadcaster::BroadcasterImpl::HasListeners(uint32_t event_mask) {
87
87
}
88
88
89
89
void Broadcaster::BroadcasterImpl::Clear () {
90
- std::lock_guard<std::recursive_mutex > guard (m_listeners_mutex);
90
+ std::lock_guard<std::mutex > guard (m_listeners_mutex);
91
91
92
92
// Make sure the listener forgets about this broadcaster. We do this in the
93
93
// broadcaster in case the broadcaster object initiates the removal.
@@ -137,7 +137,7 @@ Broadcaster::BroadcasterImpl::AddListener(const lldb::ListenerSP &listener_sp,
137
137
if (!listener_sp)
138
138
return 0 ;
139
139
140
- std::lock_guard<std::recursive_mutex > guard (m_listeners_mutex);
140
+ std::lock_guard<std::mutex > guard (m_listeners_mutex);
141
141
142
142
// See if we already have this listener, and if so, update its mask
143
143
@@ -171,7 +171,7 @@ Broadcaster::BroadcasterImpl::AddListener(const lldb::ListenerSP &listener_sp,
171
171
}
172
172
173
173
bool Broadcaster::BroadcasterImpl::EventTypeHasListeners (uint32_t event_type) {
174
- std::lock_guard<std::recursive_mutex > guard (m_listeners_mutex);
174
+ std::lock_guard<std::mutex > guard (m_listeners_mutex);
175
175
176
176
if (!m_hijacking_listeners.empty () && event_type & m_hijacking_masks.back ())
177
177
return true ;
@@ -195,7 +195,7 @@ bool Broadcaster::BroadcasterImpl::RemoveListener(
195
195
return true ;
196
196
}
197
197
198
- std::lock_guard<std::recursive_mutex > guard (m_listeners_mutex);
198
+ std::lock_guard<std::mutex > guard (m_listeners_mutex);
199
199
for (auto it = m_listeners.begin (); it != m_listeners.end ();) {
200
200
lldb::ListenerSP curr_listener_sp (it->first .lock ());
201
201
@@ -243,7 +243,7 @@ void Broadcaster::BroadcasterImpl::PrivateBroadcastEvent(EventSP &event_sp,
243
243
244
244
const uint32_t event_type = event_sp->GetType ();
245
245
246
- std::lock_guard<std::recursive_mutex > guard (m_listeners_mutex);
246
+ std::lock_guard<std::mutex > guard (m_listeners_mutex);
247
247
248
248
ListenerSP hijacking_listener_sp;
249
249
@@ -327,7 +327,7 @@ void Broadcaster::BroadcasterImpl::SetPrimaryListener(lldb::ListenerSP
327
327
328
328
bool Broadcaster::BroadcasterImpl::HijackBroadcaster (
329
329
const lldb::ListenerSP &listener_sp, uint32_t event_mask) {
330
- std::lock_guard<std::recursive_mutex > guard (m_listeners_mutex);
330
+ std::lock_guard<std::mutex > guard (m_listeners_mutex);
331
331
332
332
Log *log = GetLog (LLDBLog::Events);
333
333
LLDB_LOG (
@@ -341,7 +341,7 @@ bool Broadcaster::BroadcasterImpl::HijackBroadcaster(
341
341
}
342
342
343
343
bool Broadcaster::BroadcasterImpl::IsHijackedForEvent (uint32_t event_mask) {
344
- std::lock_guard<std::recursive_mutex > guard (m_listeners_mutex);
344
+ std::lock_guard<std::mutex > guard (m_listeners_mutex);
345
345
346
346
if (!m_hijacking_listeners.empty ())
347
347
return (event_mask & m_hijacking_masks.back ()) != 0 ;
@@ -356,7 +356,7 @@ const char *Broadcaster::BroadcasterImpl::GetHijackingListenerName() {
356
356
}
357
357
358
358
void Broadcaster::BroadcasterImpl::RestoreBroadcaster () {
359
- std::lock_guard<std::recursive_mutex > guard (m_listeners_mutex);
359
+ std::lock_guard<std::mutex > guard (m_listeners_mutex);
360
360
361
361
if (!m_hijacking_listeners.empty ()) {
362
362
ListenerSP listener_sp = m_hijacking_listeners.back ();
@@ -391,10 +391,8 @@ lldb::BroadcasterManagerSP BroadcasterManager::MakeBroadcasterManager() {
391
391
return lldb::BroadcasterManagerSP (new BroadcasterManager ());
392
392
}
393
393
394
- uint32_t BroadcasterManager::RegisterListenerForEvents (
394
+ uint32_t BroadcasterManager::RegisterListenerForEventsNoLock (
395
395
const lldb::ListenerSP &listener_sp, const BroadcastEventSpec &event_spec) {
396
- std::lock_guard<std::recursive_mutex> guard (m_manager_mutex);
397
-
398
396
collection::iterator iter = m_event_map.begin (), end_iter = m_event_map.end ();
399
397
uint32_t available_bits = event_spec.GetEventBits ();
400
398
@@ -419,9 +417,8 @@ uint32_t BroadcasterManager::RegisterListenerForEvents(
419
417
return available_bits;
420
418
}
421
419
422
- bool BroadcasterManager::UnregisterListenerForEvents (
420
+ bool BroadcasterManager::UnregisterListenerForEventsNoLock (
423
421
const lldb::ListenerSP &listener_sp, const BroadcastEventSpec &event_spec) {
424
- std::lock_guard<std::recursive_mutex> guard (m_manager_mutex);
425
422
bool removed_some = false ;
426
423
427
424
if (m_listeners.erase (listener_sp) == 0 )
@@ -464,7 +461,7 @@ bool BroadcasterManager::UnregisterListenerForEvents(
464
461
465
462
ListenerSP BroadcasterManager::GetListenerForEventSpec (
466
463
const BroadcastEventSpec &event_spec) const {
467
- std::lock_guard<std::recursive_mutex > guard (m_manager_mutex);
464
+ std::lock_guard<std::mutex > guard (m_manager_mutex);
468
465
469
466
auto event_spec_matches =
470
467
[&event_spec](const event_listener_key &input) -> bool {
@@ -479,7 +476,7 @@ ListenerSP BroadcasterManager::GetListenerForEventSpec(
479
476
}
480
477
481
478
void BroadcasterManager::RemoveListener (Listener *listener) {
482
- std::lock_guard<std::recursive_mutex > guard (m_manager_mutex);
479
+ std::lock_guard<std::mutex > guard (m_manager_mutex);
483
480
auto listeners_predicate =
484
481
[&listener](const lldb::ListenerSP &input) -> bool {
485
482
return input.get () == listener;
@@ -504,7 +501,7 @@ void BroadcasterManager::RemoveListener(Listener *listener) {
504
501
}
505
502
506
503
void BroadcasterManager::RemoveListener (const lldb::ListenerSP &listener_sp) {
507
- std::lock_guard<std::recursive_mutex > guard (m_manager_mutex);
504
+ std::lock_guard<std::mutex > guard (m_manager_mutex);
508
505
509
506
auto listener_matches =
510
507
[&listener_sp](const event_listener_key &input) -> bool {
@@ -526,7 +523,7 @@ void BroadcasterManager::RemoveListener(const lldb::ListenerSP &listener_sp) {
526
523
527
524
void BroadcasterManager::SignUpListenersForBroadcaster (
528
525
Broadcaster &broadcaster) {
529
- std::lock_guard<std::recursive_mutex > guard (m_manager_mutex);
526
+ std::lock_guard<std::mutex > guard (m_manager_mutex);
530
527
531
528
collection::iterator iter = m_event_map.begin (), end_iter = m_event_map.end ();
532
529
@@ -544,7 +541,7 @@ void BroadcasterManager::SignUpListenersForBroadcaster(
544
541
}
545
542
546
543
void BroadcasterManager::Clear () {
547
- std::lock_guard<std::recursive_mutex > guard (m_manager_mutex);
544
+ std::lock_guard<std::mutex > guard (m_manager_mutex);
548
545
549
546
for (auto &listener : m_listeners)
550
547
listener->BroadcasterManagerWillDestruct (this ->shared_from_this ());
0 commit comments