Replace one-shot uses of QSemaphore with QLatch


This commit replaces one-shot synchronization of threads that were using
QSemaphore with QLatch. QSemaphore is efficient on Linux and Windows,
but allocates memory elsewhere. Even on those platforms where we have
futex-like OS support, QSemaphore is heavier than what we really need
here.

qt3d has a lot of uses of QSemaphore in non-single-shot mode, which
can't be replaced with QLatch. There are some possible improvements to
be had over QSemaphore for those, something for a later day.

Change-Id: Ib5ce7a497e034ebabb2cfffd1761a4fcb2be9a6c
Reviewed-by: Mike Krus <mike.krus@kdab.com>
commitd728683dc786384adf624c19d33141acf87827b8
parent45531a44bc45c98f6d97df20f3fe0b6edf62a331
authorThiago Macieira <thiago.macieira@intel.com>
committerThiago Macieira <thiago.macieira@intel.com>
commit timeSat, 26 Sep 2026 01:38:26 +0000