mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
Merge remote-tracking branch 'origin/topic/awelzel/zeromq-fix-fmt-call-thanks-tsan'
* origin/topic/awelzel/zeromq-fix-fmt-call-thanks-tsan: cluster/zeromq: Call DoTerminate() in destructor cluster/zeromq: Use lambda for thread trampoline cluster/zeromq: Do not call util::fmt() from thread
This commit is contained in:
commit
fbdefd1451
4 changed files with 45 additions and 12 deletions
22
CHANGES
22
CHANGES
|
@ -1,3 +1,25 @@
|
|||
7.2.0-dev.173 | 2025-02-05 16:40:41 +0100
|
||||
|
||||
* cluster/zeromq: Call DoTerminate() in destructor (Arne Welzel, Corelight)
|
||||
|
||||
Normal life-cycle is that Terminate() / DoTerminate() is called
|
||||
by zeek-setup code. If that doesn't happen, shutdown and join
|
||||
threads during destructor.
|
||||
|
||||
try { } catch (...) suggested by Benjamin.
|
||||
|
||||
* cluster/zeromq: Use lambda for thread trampoline (Arne Welzel, Corelight)
|
||||
|
||||
* cluster/zeromq: Do not call util::fmt() from thread (Arne Welzel, Corelight)
|
||||
|
||||
...util::fmt() uses a static buffer, so this is problematic.
|
||||
|
||||
I've dabbled a bit replacing std::thread with using threading::BasicThread
|
||||
which would offer Fmt(), but this makes things more complicated. Primarily
|
||||
as BasicThread is registered with the thread manager and the shutdown
|
||||
interactions become entangled. The thread might be terminated before the
|
||||
backend, or vice-versa. Seems nicer for the thread to be owned by the backend.
|
||||
|
||||
7.2.0-dev.169 | 2025-02-05 11:10:21 +0100
|
||||
|
||||
* cluster/zeromq: Fix Unsubscribe() bug caused by \x00 prefix (Arne Welzel, Corelight)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue