diff --git a/src/include/main/client_context.h b/src/include/main/client_context.h index 6ed109f8b..0f0bdeb72 100644 --- a/src/include/main/client_context.h +++ b/src/include/main/client_context.h @@ -96,6 +96,9 @@ class LBUG_API ClientContext { common::Value getCurrentSetting(const std::string& optionName) const; // Timer and timeout + // Async-signal-safe: the Python driver calls this from its SIGINT handler, so it must stay a + // single lock-free atomic store, with no locks, allocation or exceptions. + static_assert(decltype(ActiveQuery::interrupted)::is_always_lock_free); void interrupt() { activeQuery.interrupted = true; } bool interrupted() const { return activeQuery.interrupted; } void setActiveQueryID(uint64_t queryID) { activeQuery.queryID = queryID; }