summaryrefslogtreecommitdiff
path: root/src/common/thread.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* general: remove atomic signal and waitGravatar Liam2023-06-221-1/+1
|
* general: improve handling of system startup failureGravatar Liam2022-12-061-4/+7
|
* Make coretiming waiting more accurateGravatar Kelebek12022-08-021-0/+4
|
* Core/Common: Corrections to core timing and add critical priority.Gravatar Fernando Sahmkow2022-06-281-0/+1
|
* chore: add missing SPDX tagsGravatar Andrea Pappacoda2022-04-281-3/+3
| | | | Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
* common: Replace lock_guard with scoped_lockGravatar Merry2022-04-071-1/+1
|
* common/thread: Fix data race in is_setGravatar ReinUsesLisp2020-08-261-4/+5
| | | | | 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.
* General: Tune the priority of main emulation threads so they have higher ↵Gravatar Fernando Sahmkow2020-06-271-0/+9
| | | | priority than less important helper threads.
* Tests: Add base tests to host timingGravatar Fernando Sahmkow2020-06-181-2/+2
|
* Address second part of review commentsGravatar FearlessTobi2020-01-231-1/+1
|
* Input: UDP Client to provide motion and touch controlsGravatar fearlessTobi2020-01-231-0/+9
| | | | | | | | 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>
* general: Use deducation guides for std::lock_guard and std::unique_lockGravatar Lioncash2019-04-011-5/+5
| | | | | | | 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.
* common/thread: Remove unused functionsGravatar Lioncash2019-03-291-4/+0
| | | | | | | | | | 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.
* common/thread: Make Barrier's 'count' member non-constGravatar Lioncash2018-11-211-1/+1
| | | | | | | | | | 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.
* common/thread: Initialize class member variables where applicableGravatar Lioncash2018-11-211-6/+4
| | | | Simplifies the constructor interfaces for Barrier and Event classes.
* common/thread: Group non-member functions togetherGravatar Lioncash2018-11-211-3/+2
| | | | | Keeps the non-member interface in one spot instead of split into two places, making it nicer to locate functions.
* common/thread: Remove SleepCurrentThread()Gravatar Lioncash2018-11-211-1/+0
| | | | | | | 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.
* common/thread: Remove unused CurrentThreadId()Gravatar Lioncash2018-11-211-2/+0
| | | | | | 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.
* common/thread: remove YieldCPU()Gravatar Weiyi Wang2018-09-221-8/+0
| | | | simply use the standard library yield()
* Port #4182 from Citra: "Prefix all size_t with std::"Gravatar fearlessTobi2018-09-151-5/+5
|
* common/thread: Remove unnecessary feature checking for thread_localGravatar Lioncash2018-04-191-19/+0
| | | | Every compiler we require already supports it.
* Common::Event: add WaitUntilGravatar wwylele2016-12-261-0/+10
|
* Remove empty newlines in #include blocks.Gravatar Emmanuel Gil Peyrot2016-09-211-1/+0
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Manually tweak source formatting and then re-run clang-formatGravatar Yuri Kunde Schlesner2016-09-181-4/+2
|
* Sources: Run clang-format on everything.Gravatar Emmanuel Gil Peyrot2016-09-181-18/+22
|
* Thread: Make Barrier reusableGravatar MerryMage2016-04-141-5/+5
|
* common/thread: Correct code styleGravatar MerryMage2016-04-141-21/+19
|
* Common: Cleanup thread includes.Gravatar Emmanuel Gil Peyrot2015-06-281-14/+2
|
* Common: Remove common.hGravatar Yuri Kunde Schlesner2015-05-071-1/+0
|
* Common: thread.h cleanupsGravatar Yuri Kunde Schlesner2015-04-161-65/+16
| | | | | The helper classes are rendered obsolete by C++11 lambdas. Also made formatting conform to our code style.
* Add profiling infrastructure and widgetGravatar Yuri Kunde Schlesner2015-03-011-0/+19
|
* License changeGravatar purpasmart962014-12-201-2/+2
|
* New logging systemGravatar Yuri Kunde Schlesner2014-12-131-0/+1
|
* Remove trailing spaces in every file but the ones imported from SkyEye, AOSP ↵Gravatar Emmanuel Gil Peyrot2014-11-191-4/+4
| | | | or generated
* Remove extraneous semicolonsGravatar Lioncash2014-11-181-1/+1
|
* Removed common/std_xyz, instead using the std headerGravatar archshift2014-09-071-4/+3
|
* Common: Move remaining C header includes over to their C++ equivalentGravatar Lioncash2014-08-171-2/+2
|
* Common: Move header guards over to pragma onceGravatar Lioncash2014-08-171-4/+1
| | | | Also replaced C headers with the C++ equivalent ones
* fixed project includes to use new directory structureGravatar bunnei2014-04-081-4/+4
|
* got rid of 'src' folders in each sub-projectGravatar bunnei2014-04-081-0/+156