summaryrefslogtreecommitdiffstats
path: root/src/common/thread.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* chore: add missing SPDX tagsAndrea Pappacoda2022-04-281-3/+3
| | | | Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
* common: Replace lock_guard with scoped_lockMerry2022-04-071-1/+1
|
* common/thread: Fix data race in is_setReinUsesLisp2020-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 priority than less important helper threads.Fernando Sahmkow2020-06-271-0/+9
|
* Tests: Add base tests to host timingFernando Sahmkow2020-06-181-2/+2
|
* Address second part of review commentsFearlessTobi2020-01-231-1/+1
|
* Input: UDP Client to provide motion and touch controlsfearlessTobi2020-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_lockLioncash2019-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 functionsLioncash2019-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-constLioncash2018-11-221-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 applicableLioncash2018-11-221-6/+4
| | | | Simplifies the constructor interfaces for Barrier and Event classes.
* common/thread: Group non-member functions togetherLioncash2018-11-221-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()Lioncash2018-11-221-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()Lioncash2018-11-221-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()Weiyi Wang2018-09-221-8/+0
| | | | simply use the standard library yield()
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-151-5/+5
|
* common/thread: Remove unnecessary feature checking for thread_localLioncash2018-04-201-19/+0
| | | | Every compiler we require already supports it.
* Common::Event: add WaitUntilwwylele2016-12-261-0/+10
|
* Remove empty newlines in #include blocks.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-formatYuri Kunde Schlesner2016-09-191-4/+2
|
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-18/+22
|
* Thread: Make Barrier reusableMerryMage2016-04-141-5/+5
|
* common/thread: Correct code styleMerryMage2016-04-141-21/+19
|
* Common: Cleanup thread includes.Emmanuel Gil Peyrot2015-06-281-14/+2
|
* Common: Remove common.hYuri Kunde Schlesner2015-05-071-1/+0
|
* Common: thread.h cleanupsYuri 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 widgetYuri Kunde Schlesner2015-03-021-0/+19
|
* License changepurpasmart962014-12-211-2/+2
|
* New logging systemYuri Kunde Schlesner2014-12-131-0/+1
|
* Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot2014-11-191-4/+4
|
* Remove extraneous semicolonsLioncash2014-11-181-1/+1
|
* Removed common/std_xyz, instead using the std headerarchshift2014-09-071-4/+3
|
* Common: Move remaining C header includes over to their C++ equivalentLioncash2014-08-171-2/+2
|
* Common: Move header guards over to pragma onceLioncash2014-08-171-4/+1
| | | | Also replaced C headers with the C++ equivalent ones
* fixed project includes to use new directory structurebunnei2014-04-091-4/+4
|
* got rid of 'src' folders in each sub-projectbunnei2014-04-091-0/+156