mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-16 15:36:12 -04:00
Fix TSAN errors.
PiperOrigin-RevId: 627186253
This commit is contained in:
committed by
Copybara-Service
parent
ef924e5003
commit
f1631fafe1
@@ -50,8 +50,11 @@ void FakeNearbyConnection::Close() {
|
||||
NL_DCHECK(!closed_);
|
||||
closed_ = true;
|
||||
|
||||
if (disconnect_listener_) {
|
||||
std::move(disconnect_listener_)();
|
||||
{
|
||||
absl::MutexLock lock(&disconnect_mutex_);
|
||||
if (disconnect_listener_) {
|
||||
std::move(disconnect_listener_)();
|
||||
}
|
||||
}
|
||||
|
||||
absl::MutexLock lock(&read_mutex_);
|
||||
@@ -66,6 +69,7 @@ void FakeNearbyConnection::Close() {
|
||||
void FakeNearbyConnection::SetDisconnectionListener(
|
||||
std::function<void()> listener) {
|
||||
NL_DCHECK(!closed_);
|
||||
absl::MutexLock lock(&disconnect_mutex_);
|
||||
disconnect_listener_ = std::move(listener);
|
||||
}
|
||||
|
||||
|
||||
@@ -60,7 +60,8 @@ class FakeNearbyConnection : public NearbyConnection {
|
||||
std::queue<std::vector<uint8_t>> read_data_ ABSL_GUARDED_BY(read_mutex_);
|
||||
absl::Mutex write_mutex_;
|
||||
std::queue<std::vector<uint8_t>> write_data_ ABSL_GUARDED_BY(write_mutex_);
|
||||
std::function<void()> disconnect_listener_;
|
||||
absl::Mutex disconnect_mutex_;
|
||||
std::function<void()> disconnect_listener_ ABSL_GUARDED_BY(disconnect_mutex_);
|
||||
};
|
||||
|
||||
} // namespace sharing
|
||||
|
||||
Reference in New Issue
Block a user