<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/encode_server_finder.h, branch 3052-hang</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=3052-hang</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=3052-hang'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2025-06-14T21:43:13Z</updated>
<entry>
<title>Use a new UISignal which checks thread safety slightly.</title>
<updated>2025-06-14T21:43:13Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-06-11T22:27:33Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=a12a943c99ba4aba122f91c93b078d2e87146b32'/>
<id>urn:sha1:a12a943c99ba4aba122f91c93b078d2e87146b32</id>
<content type='text'>
This adds a wrapper around signals2::signal which checks that emission
happens from the GUI thread, for signals whose handlers must be called
in the UI thread.  I'm not sure how helpful it really is but maybe it
catches some bad situations.
</content>
</entry>
<entry>
<title>Add abstraction of io_{context,service} and use it as appropriate.</title>
<updated>2025-03-22T12:29:58Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-03-17T00:25:02Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=9dd72fc481349f0b5ce985164441eecfa6485c19'/>
<id>urn:sha1:9dd72fc481349f0b5ce985164441eecfa6485c19</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make stop() private and use drop() instead.</title>
<updated>2024-01-28T01:01:58Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2023-10-08T13:48:58Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=b23b24b5043efd3ea76b9765f25e4c1eef3da989'/>
<id>urn:sha1:b23b24b5043efd3ea76b9765f25e4c1eef3da989</id>
<content type='text'>
This avoids confusing situations where we call stop(), then try
to restart the finder (unsuccessfully, because once it's stop()ped
it will stay around, never to be restarted).
</content>
</entry>
<entry>
<title>Avoid boost::bind()ing a shared_ptr.</title>
<updated>2022-02-25T07:00:51Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-02-22T19:34:08Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=b2c412480aa2cc29bfbb90556f974e9294608898'/>
<id>urn:sha1:b2c412480aa2cc29bfbb90556f974e9294608898</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix some dubious thread/locking behaviour.</title>
<updated>2022-02-25T07:00:51Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-02-24T18:47:19Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=5ec4efca61906608e2e7a590b3d1c3f2b7078e81'/>
<id>urn:sha1:5ec4efca61906608e2e7a590b3d1c3f2b7078e81</id>
<content type='text'>
Previously we had server_found(), which took the lock and found
a server, which it returned as an iterator into the list.
However, it then released the lock, which I think left the
iterator unprotected.

This wasn't done in response to any particular bug, I just
noticed it on the way past.
</content>
</entry>
<entry>
<title>C++11 tidying.</title>
<updated>2021-05-03T18:18:04Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-05-03T09:17:34Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=689fa55d1529ad88449ca464e9107c4dcc54d1cb'/>
<id>urn:sha1:689fa55d1529ad88449ca464e9107c4dcc54d1cb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std::shared_ptr</title>
<updated>2021-01-07T21:48:29Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-01-04T20:16:53Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=dd9be86db6cde0afa5da0d1d1ac43b42e05dca26'/>
<id>urn:sha1:dd9be86db6cde0afa5da0d1d1ac43b42e05dca26</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Various thread cleanups.</title>
<updated>2020-01-30T21:54:38Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2020-01-30T21:54:38Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=ea6b2dae46caa1da829fbf499e83cd6ae3b3773a'/>
<id>urn:sha1:ea6b2dae46caa1da829fbf499e83cd6ae3b3773a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Tidy up to use one list of servers.</title>
<updated>2018-04-13T00:09:10Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-04-13T00:09:10Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=9106e6ed551b13e1b7c7ee2088d54ce0ae430bcf'/>
<id>urn:sha1:9106e6ed551b13e1b7c7ee2088d54ce0ae430bcf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update encoding server list when servers disappear (#1176).</title>
<updated>2018-04-12T23:56:11Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2018-04-12T23:56:11Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=6dd6676700f830547e9e7c38781f09de5f2a1a00'/>
<id>urn:sha1:6dd6676700f830547e9e7c38781f09de5f2a1a00</id>
<content type='text'>
</content>
</entry>
</feed>
