summaryrefslogtreecommitdiff
path: root/src/common/threadsafe_queue.h
AgeCommit message (Collapse)Author
2025-01-28ui: Update repository URLs to git.citron-emu.orgZephyron
Updates all GitHub repository URLs to point to the new self-hosted Git instance at git.citron-emu.org. This includes: - Links in the About dialog UI and translations - Android app string resources - Documentation/wiki links - Source code comments The website URL (citron-emu.org) and support links remain unchanged.
2024-12-31chore: update project references and add Citron copyrightZephyron
- Replaced all references to the old project name with Citron. - Added Citron copyright information alongside existing notices in all files.
2022-11-22general: fix compile for Apple ClangLiam
2022-07-29common: move forwarded value into SPSCQueueLiam
2022-04-28chore: add missing SPDX tagsAndrea Pappacoda
Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
2022-04-07common: Replace lock_guard with scoped_lockMerry
2021-09-15threadsafe_queue: Add std::stop_token overload to PopWaitameerj
Useful for jthreads which make use of the threadsafe queues.
2021-08-13threadsafe_queue: Fix deadlockyzct12345
This fixes a lost wakeup in SPSCQueue. If the reader is in just the right position, the writer's notification will be lost and this will be a problem if the writer then does something to wait on the reader. This was discovered to affect my upcoming stacktrace PR. I don't think any performance decrease will be noticeable because an uncontended mutex is smart enough to skip the syscall. This PR might also resolve some rare deadlocks but I don't know of any examples.
2021-04-07common/threadsafe_queue: Provide Wait() method.Markus Wick
It shall block until there is something to consume in the queue. And use it for the GPU emulation instead of the spin loop. This is only in booting the emulator, however in BOTW this is the case for about 1 second.
2020-08-15common: Make use of [[nodiscard]] where applicableLioncash
Now that clang-format makes [[nodiscard]] attributes format sensibly, we can apply them to several functions within the common library to allow the compiler to complain about any misuses of the functions.
2019-12-16common: SPSCQueue: Notify after incrementing queue size.bunnei
2019-04-01general: Use deducation guides for std::lock_guard and std::unique_lockLioncash
Since C++17, the introduction of deduction guides for locking facilities means that we no longer need to hardcode the mutex type into the locks themselves, making it easier to switch mutex types, should it ever be necessary in the future.
2019-02-15Adressed review commentsB3n30
2019-02-15threadsafe_queue: Add WaitIfEmpty and use it in loggingB3n30
2019-02-12threadsafe_queue: Use std::size_t for representing sizeLioncash
Makes it consistent with the regular standard containers in terms of size representation. This also gets rid of dependence on our own type aliases, removing the need for an include.
2019-02-12threadsafe_queue: Remove NeedSize template parameterLioncash
The necessity of this parameter is dubious at best, and in 2019 probably offers completely negligible savings as opposed to just leaving this enabled. This removes it and simplifies the overall interface.
2018-07-29remove polymorphism issueB3n30
2018-01-08CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119)B3n30
* CoreTiming: New CoreTiming; Add Test for CoreTiming