summaryrefslogtreecommitdiffstats
path: root/src/corelib/thread/qatomicwait.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Mark all files in corelib/thread security significantMatthias Rauter2025-08-041-0/+1
| | | | | | | | | | | | | | | None of the files in this folder handle untrusted inputs, implement a protocol or cryptographic logic or execute external code. While bugs in threading, atomics, and locks might lead to security issues, there is no elevated risk and exposure of these classes and methods. Therefore they are marked significant. Pick-to: 6.10 6.9 6.8 Fixes: QTBUG-135196 Change-Id: If336b6f8a920b3d41b4c4e57f1bff36e2b392739 Reviewed-by: Dimitrios Apostolou <jimis@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* qatomicwait: disable the code for systems with permanent futex supportThiago Macieira2025-07-041-0/+14
| | | | | | | This saves some code emission and the 2kB of .bss space for the locks. Change-Id: Icf6a9c0091b86d6e223afffdb4acede2c2f930f5 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Short live q20::atomic_wait!Thiago Macieira2025-06-271-0/+164
atomic_wait() and atomic_notify_{one,all}() are available in C++20, which we can't depend on right now. So we implement our own fallback implementation. This is a simple implementation for systems which don't have either futexes or the C++20 atomic wait API. That means it's not very efficient, just simple. The unit test tests the fallback implementation only: it is not Qt's business to test the Standard Library. The fallback implementation and the Standard Library's are not binary-compatible and cannot be mixed. Callers must ensure that all sides use the same implementation and the easiest way to do that is to only use this in non-inline code, or at worst inline code that isn't shared across libraries/modules/plugins. Change-Id: Ib5ce7a497e034ebabb2cfffd1761a0e497dd17d4 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>