<feed xmlns='http://www.w3.org/2005/Atom'>
<title>opentrack.git/compat/run-in-thread.hpp, branch opentrack-2.3.1</title>
<subtitle>head tracking software for Windows and Linux</subtitle>
<id>http://ananke.misaki.pl/cgit/opentrack.git/atom?h=opentrack-2.3.1</id>
<link rel='self' href='http://ananke.misaki.pl/cgit/opentrack.git/atom?h=opentrack-2.3.1'/>
<link rel='alternate' type='text/html' href='http://ananke.misaki.pl/cgit/opentrack.git/'/>
<updated>2016-12-30T03:39:26Z</updated>
<entry>
<title>compat: prevent deadlock with race</title>
<updated>2016-12-30T03:39:26Z</updated>
<author>
<name>Stanislaw Halik</name>
<email>sthalik@misaki.pl</email>
</author>
<published>2016-12-30T03:39:26Z</published>
<link rel='alternate' type='text/html' href='http://ananke.misaki.pl/cgit/opentrack.git/commit/?id=e712a6eea96d381d2f1e3c0f8328d870321b31de'/>
<id>urn:sha1:e712a6eea96d381d2f1e3c0f8328d870321b31de</id>
<content type='text'>
We can't depend on cvar getting notified only after "src" runs out of
scope.

Now, in case signal destroyed() runs first:

- mtx locked
- flag set to true
- empty cvar notified

Thus, doesn't hang.

In case we wait first:

- mtx locked
- flag is false
- cvar notification arrives

Of course semaphore code always runs serially since they're covered by a
mutex. We have all our bases covered.

Previously the code never hung simply because the "curthread" condition
was always true.

I removed the "curthread" code paths since they don't add anything. Also
rvalue references got used incorrectly.
</content>
</entry>
<entry>
<title>compat: add asserts</title>
<updated>2016-12-03T06:11:31Z</updated>
<author>
<name>Stanislaw Halik</name>
<email>sthalik@misaki.pl</email>
</author>
<published>2016-12-03T06:11:31Z</published>
<link rel='alternate' type='text/html' href='http://ananke.misaki.pl/cgit/opentrack.git/commit/?id=0e8e2d5b103afa508f33c70904271e4fe72c870e'/>
<id>urn:sha1:0e8e2d5b103afa508f33c70904271e4fe72c870e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>compat/run-in-thread: fix on msvc 2017</title>
<updated>2016-11-29T04:42:23Z</updated>
<author>
<name>Stanislaw Halik</name>
<email>sthalik@misaki.pl</email>
</author>
<published>2016-11-29T04:40:30Z</published>
<link rel='alternate' type='text/html' href='http://ananke.misaki.pl/cgit/opentrack.git/commit/?id=1ab4751c9ac2d4e1dcc3b730f8dcf53500d728e5'/>
<id>urn:sha1:1ab4751c9ac2d4e1dcc3b730f8dcf53500d728e5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>compat/util: split out run-in-thread{,-async}</title>
<updated>2016-10-26T05:25:50Z</updated>
<author>
<name>Stanislaw Halik</name>
<email>sthalik@misaki.pl</email>
</author>
<published>2016-10-26T05:25:50Z</published>
<link rel='alternate' type='text/html' href='http://ananke.misaki.pl/cgit/opentrack.git/commit/?id=644494f7cf27cb8dbe89a50885f57a7266a06e63'/>
<id>urn:sha1:644494f7cf27cb8dbe89a50885f57a7266a06e63</id>
<content type='text'>
</content>
</entry>
</feed>
