From ae1706d1dca7dcff2a8b8d5433b315e2f0ccab55 Mon Sep 17 00:00:00 2001 From: "Herman S." <429230+has207@users.noreply.github.com> Date: Mon, 13 Oct 2025 19:48:11 +0900 Subject: [PATCH] [Threads] Ensure proper RTTI/vtable emission for PosixWaitHandle --- src/xenia/base/threading_posix.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/xenia/base/threading_posix.cc b/src/xenia/base/threading_posix.cc index fbbff7bb3..b768c6872 100644 --- a/src/xenia/base/threading_posix.cc +++ b/src/xenia/base/threading_posix.cc @@ -924,10 +924,13 @@ class PosixCondition final : public PosixConditionBase { class PosixWaitHandle { public: - virtual ~PosixWaitHandle() = default; + virtual ~PosixWaitHandle(); virtual PosixConditionBase& condition() = 0; }; +// Out-of-line destructor to ensure proper RTTI/vtable emission +PosixWaitHandle::~PosixWaitHandle() = default; + // This wraps a condition object as our handle because posix has no single // native handle for higher level concurrency constructs such as semaphores template