forked from osmocom/wireshark
db27fb777a
This prevents the weird failures I saw on macOS in #17856; instead, it should fail on *all* platforms with Unhandled exception ("epan/proto.c:8800: failed assertion "DISSECTOR_ASSERT_NOT_REACHED"", group=1, code=6) (which it does on macOS 11.6/Xcode 12.5.1 and Windows 10/VS 2019 16.11.8; according to https://en.wikipedia.org/w/index.php?title=Thread-local_storage&oldid=1064900318#C_and_C++ the major UN*X C compilers support __thread and the major Windows C compilers support __declspec(thread).). @jvalverde: on branches that require C11/C++11 support, we could perhaps just use _Thread_local for C and thread_local for C++. Note that <thread.h> is optional in C11, and macOS 11.6/Xcode 12.5.1 does not appear to include it.) This does not *fix* the aforementioned issue; to do *that* we need to do TRY in the register-dissectors thread code. I'm committing this separately because it fixes a bug in our exception package that could cause all sorts of randomness now and in the future - what we're doing now is Just Wrong. (Yes, there's code to support per-thread exception handler stacks *on platforms with pthreads*, but this is simpler *and* also works on Windows.) |
||
---|---|---|
.. | ||
wireshark.h | ||
ws_attributes.h | ||
ws_compiler_tests.h | ||
ws_diag_control.h | ||
ws_log_defs.h | ||
ws_posix_compat.h | ||
ws_symbol_export.h |