diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2022-05-26 19:48:05 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2022-06-07 15:38:02 +0200 |
commit | 289b5b2e2eeed70e5688bf30b39cafef7bdd7ac0 (patch) | |
tree | cfede4295fbb0cb1b79cb6d9f52d9e8836d152a7 /net | |
parent | wds: enable experimental blocks unconditionally (diff) | |
download | online-289b5b2e2eeed70e5688bf30b39cafef7bdd7ac0.tar.gz online-289b5b2e2eeed70e5688bf30b39cafef7bdd7ac0.zip |
socket: only wakeup the mainloop on addCallback for the 1st callback.
Change-Id: I96d9f0d46a5557ba464664456ec82605780f7de1
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/Socket.hpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/Socket.hpp b/net/Socket.hpp index 25534c941f..63d0730582 100644 --- a/net/Socket.hpp +++ b/net/Socket.hpp @@ -769,8 +769,10 @@ public: void addCallback(const CallbackFn& fn) { std::lock_guard<std::mutex> lock(_mutex); + bool wasEmpty = _newCallbacks.empty(); _newCallbacks.emplace_back(fn); - wakeup(); + if (wasEmpty) + wakeup(); } virtual void dumpState(std::ostream& os); |