summaryrefslogtreecommitdiffstats
path: root/src/common/thread.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-08-26common/thread: Fix data race in is_setReinUsesLisp1-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.
2020-06-27General: Tune the priority of main emulation threads so they have higher priority than less important helper threads.Fernando Sahmkow1-0/+9
2020-06-18Tests: Add base tests to host timingFernando Sahmkow1-2/+2
2020-01-23Address second part of review commentsFearlessTobi1-1/+1
2020-01-23Input: UDP Client to provide motion and touch controlsfearlessTobi1-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>
2019-04-01general: Use deducation guides for std::lock_guard and std::unique_lockLioncash1-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.
2019-03-29common/thread: Remove unused functionsLioncash1-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.
2018-11-22common/thread: Make Barrier's 'count' member non-constLioncash1-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.
2018-11-22common/thread: Initialize class member variables where applicableLioncash1-6/+4
Simplifies the constructor interfaces for Barrier and Event classes.
2018-11-22common/thread: Group non-member functions togetherLioncash1-3/+2
Keeps the non-member interface in one spot instead of split into two places, making it nicer to locate functions.
2018-11-22common/thread: Remove SleepCurrentThread()Lioncash1-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.
2018-11-22common/thread: Remove unused CurrentThreadId()Lioncash1-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.
2018-09-22common/thread: remove YieldCPU()Weiyi Wang1-8/+0
simply use the standard library yield()
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi1-5/+5
2018-04-20common/thread: Remove unnecessary feature checking for thread_localLioncash1-19/+0
Every compiler we require already supports it.
2016-12-26Common::Event: add WaitUntilwwylele1-0/+10
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot1-1/+0
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-19Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner1-4/+2
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot1-18/+22
2016-04-14Thread: Make Barrier reusableMerryMage1-5/+5
2016-04-14common/thread: Correct code styleMerryMage1-21/+19
2015-06-28Common: Cleanup thread includes.Emmanuel Gil Peyrot1-14/+2
2015-05-07Common: Remove common.hYuri Kunde Schlesner1-1/+0
2015-04-16Common: thread.h cleanupsYuri Kunde Schlesner1-65/+16
The helper classes are rendered obsolete by C++11 lambdas. Also made formatting conform to our code style.
2015-03-02Add profiling infrastructure and widgetYuri Kunde Schlesner1-0/+19
2014-12-21License changepurpasmart961-2/+2
2014-12-13New logging systemYuri Kunde Schlesner1-0/+1
2014-11-19Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generatedEmmanuel Gil Peyrot1-4/+4
2014-11-18Remove extraneous semicolonsLioncash1-1/+1
2014-09-07Removed common/std_xyz, instead using the std headerarchshift1-4/+3
2014-08-17Common: Move remaining C header includes over to their C++ equivalentLioncash1-2/+2
2014-08-17Common: Move header guards over to pragma onceLioncash1-4/+1
Also replaced C headers with the C++ equivalent ones
2014-04-09fixed project includes to use new directory structurebunnei1-4/+4
2014-04-09got rid of 'src' folders in each sub-projectbunnei1-0/+0
2014-04-02convert tabs to spacesbunnei1-96/+96
2013-09-05replaced common code with dolphin commonShizZy1-0/+156