<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yuzu/src/common/threadsafe_queue.h, branch main</title>
<subtitle>Nintendo Switch emulator</subtitle>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/'/>
<entry>
<title>general: fix compile for Apple Clang</title>
<updated>2022-11-23T03:22:28+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2022-11-21T16:31:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=9737615948d431cf56826f3c109bbc0fef7b4d10'/>
<id>9737615948d431cf56826f3c109bbc0fef7b4d10</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>common: move forwarded value into SPSCQueue</title>
<updated>2022-07-29T19:41:57+00:00</updated>
<author>
<name>Liam</name>
<email>byteslice@airmail.cc</email>
</author>
<published>2022-07-28T23:47:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=ec64a94954535b8be4a045150cffb4dc3afb427a'/>
<id>ec64a94954535b8be4a045150cffb4dc3afb427a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: add missing SPDX tags</title>
<updated>2022-04-28T16:24:11+00:00</updated>
<author>
<name>Andrea Pappacoda</name>
<email>andrea@pappacoda.it</email>
</author>
<published>2022-04-28T16:24:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=01cf05bc75b1e47beb08937439f3ed9339e7b254'/>
<id>01cf05bc75b1e47beb08937439f3ed9339e7b254</id>
<content type='text'>
Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Follow-up to 99ceb03a1cfcf35968cab589ea188a8c406cda52
</pre>
</div>
</content>
</entry>
<entry>
<title>common: Replace lock_guard with scoped_lock</title>
<updated>2022-04-07T18:30:55+00:00</updated>
<author>
<name>Merry</name>
<email>git@mary.rs</email>
</author>
<published>2022-04-07T18:30:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=c589db6adde8e4706065b1ab00bd6814b39dc8bb'/>
<id>c589db6adde8e4706065b1ab00bd6814b39dc8bb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>threadsafe_queue: Add std::stop_token overload to PopWait</title>
<updated>2021-09-16T00:49:07+00:00</updated>
<author>
<name>ameerj</name>
<email>52414509+ameerj@users.noreply.github.com</email>
</author>
<published>2021-09-16T00:18:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=c2ddda2f5119a7f9dc44d79f340fd7c63a68af7d'/>
<id>c2ddda2f5119a7f9dc44d79f340fd7c63a68af7d</id>
<content type='text'>
Useful for jthreads which make use of the threadsafe queues.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Useful for jthreads which make use of the threadsafe queues.
</pre>
</div>
</content>
</entry>
<entry>
<title>threadsafe_queue: Fix deadlock</title>
<updated>2021-08-13T19:22:51+00:00</updated>
<author>
<name>yzct12345</name>
<email>87620833+yzct12345@users.noreply.github.com</email>
</author>
<published>2021-08-13T19:22:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=0ba521e63455d2222b61bde70abfe4fed43ee117'/>
<id>0ba521e63455d2222b61bde70abfe4fed43ee117</id>
<content type='text'>
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.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.</pre>
</div>
</content>
</entry>
<entry>
<title>common/threadsafe_queue: Provide Wait() method.</title>
<updated>2021-04-07T20:38:52+00:00</updated>
<author>
<name>Markus Wick</name>
<email>markus@selfnet.de</email>
</author>
<published>2021-04-06T18:30:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=4aec060f6de410698d5b0a5bffd42d4327b258e4'/>
<id>4aec060f6de410698d5b0a5bffd42d4327b258e4</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>common: Make use of [[nodiscard]] where applicable</title>
<updated>2020-08-15T21:17:52+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2020-08-14T13:38:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=df7248039553b3ebd338380c3ef0428b0e046e79'/>
<id>df7248039553b3ebd338380c3ef0428b0e046e79</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>common: SPSCQueue: Notify after incrementing queue size.</title>
<updated>2019-12-17T01:39:53+00:00</updated>
<author>
<name>bunnei</name>
<email>bunneidev@gmail.com</email>
</author>
<published>2019-12-17T01:39:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=67b8ecc73e4201ee98f812c2a43ff9e93414faea'/>
<id>67b8ecc73e4201ee98f812c2a43ff9e93414faea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>general: Use deducation guides for std::lock_guard and std::unique_lock</title>
<updated>2019-04-01T16:53:47+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2019-04-01T16:29:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.dog6.net/yuzu/commit/?id=781ab8407b50d303197ab6fb888ed35ecbcce23a'/>
<id>781ab8407b50d303197ab6fb888ed35ecbcce23a</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
</feed>
