summaryrefslogtreecommitdiff
path: root/src/common/thread.h
AgeCommit message (Collapse)Author
2025-01-14Revert incorrect copyright attribution for non-contributed filesZephyron
- In commit b3facaa6bb30cdc39f2b7d632fef1e3bfeee7785, the copyright header was updated to include "Citron Homebrew Project" across multiple files, regardless of whether any contributions were made. - This commit removes the incorrect attribution and reverts the copyright header to its previous state. - Copyright attribution should only be added when meaningful contributions have been made to the file. - This commit ensures proper compliance with copyright standards and maintains correct attribution to the respective contributors. - Special thanks to Tachi for pointing out the need for these corrections and ensuring that proper attribution practices are followed.
2024-12-31core: Update copyright headersZephyron
- Update copyright headers to include Citron Homebrew Project - Add 2025 to copyright years
2023-06-22general: remove atomic signal and waitLiam
2022-12-06general: improve handling of system startup failureLiam
2022-08-02Make coretiming waiting more accurateKelebek1
2022-06-28Core/Common: Corrections to core timing and add critical priority.Fernando Sahmkow
2022-04-28chore: add missing SPDX tagsAndrea Pappacoda
Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
2022-04-07common: Replace lock_guard with scoped_lockMerry
2020-08-26common/thread: Fix data race in is_setReinUsesLisp
As report by tsan, Event::Set can write is_set while WaitFor and friends are reading from it. To address this issue, make is_set an atomic.
2020-06-27General: Tune the priority of main emulation threads so they have higher ↵Fernando Sahmkow
priority than less important helper threads.
2020-06-18Tests: Add base tests to host timingFernando Sahmkow
2020-01-23Address second part of review commentsFearlessTobi
2020-01-23Input: UDP Client to provide motion and touch controlsfearlessTobi
An implementation of the cemuhook motion/touch protocol, this adds the ability for users to connect several different devices to citra to send direct motion and touch data to citra. Co-Authored-By: jroweboy <jroweboy@gmail.com>
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-03-29common/thread: Remove unused functionsLioncash
Many of these functions are carried over from Dolphin (where they aren't used anymore). Given these have no use (and we really shouldn't be screwing around with OS-specific thread scheduler handling from the emulator, these can be removed. The function for setting the thread name is left, however, since it can have debugging utility usages.
2018-11-21common/thread: Make Barrier's 'count' member non-constLioncash
While admirable as a means to ensure immutability, this has the unfortunate downside of making the class non-movable. std::move cannot actually perform a move operation if the provided operand has const data members (std::move acts as an operation to "slide" resources out of an object instance). Given Barrier contains move-only types such as std::mutex, this can lead to confusing error messages if an object ever contained a Barrier instance and said object was attempted to be moved.
2018-11-21common/thread: Initialize class member variables where applicableLioncash
Simplifies the constructor interfaces for Barrier and Event classes.
2018-11-21common/thread: Group non-member functions togetherLioncash
Keeps the non-member interface in one spot instead of split into two places, making it nicer to locate functions.
2018-11-21common/thread: Remove SleepCurrentThread()Lioncash
This is also unused and superceded by standard functionality. The standard library provides std::this_thread::sleep_for(), which provides a much more flexible interface, as different time units can be used with it.
2018-11-21common/thread: Remove unused CurrentThreadId()Lioncash
This is an old function that's no longer necessary. C++11 introduced proper threading support to the language and a thread ID can be retrieved via std::this_thread::get_id() if it's ever needed.
2018-09-22common/thread: remove YieldCPU()Weiyi Wang
simply use the standard library yield()
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi
2018-04-19common/thread: Remove unnecessary feature checking for thread_localLioncash
Every compiler we require already supports it.
2016-12-26Common::Event: add WaitUntilwwylele
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-18Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot
2016-04-14Thread: Make Barrier reusableMerryMage
2016-04-14common/thread: Correct code styleMerryMage
2015-06-28Common: Cleanup thread includes.Emmanuel Gil Peyrot
2015-05-07Common: Remove common.hYuri Kunde Schlesner
2015-04-16Common: thread.h cleanupsYuri Kunde Schlesner
The helper classes are rendered obsolete by C++11 lambdas. Also made formatting conform to our code style.
2015-03-01Add profiling infrastructure and widgetYuri Kunde Schlesner
2014-12-20License changepurpasmart96
2014-12-13New logging systemYuri Kunde Schlesner
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP ↵Emmanuel Gil Peyrot
or generated
2014-11-18Remove extraneous semicolonsLioncash
2014-09-07Removed common/std_xyz, instead using the std headerarchshift
2014-08-17Common: Move remaining C header includes over to their C++ equivalentLioncash
2014-08-17Common: Move header guards over to pragma onceLioncash
Also replaced C headers with the C++ equivalent ones
2014-04-08fixed project includes to use new directory structurebunnei
2014-04-08got rid of 'src' folders in each sub-projectbunnei