Recover subtitle language metadata from the places is was written
[dcpomatic.git] / src / lib / encode_server_finder.cc
index 52c8c89496bdec9b46bb5de1487b06d48907eed8..1c612025733f9f95a3232394c7eceb843df529ab 100644 (file)
@@ -27,6 +27,7 @@
 #include "dcpomatic_socket.h"
 #include <dcp/raw_convert.h>
 #include <libcxml/cxml.h>
+#include <boost/bind/placeholders.hpp>
 #include <boost/lambda/lambda.hpp>
 #include <iostream>
 
@@ -40,6 +41,9 @@ using boost::shared_ptr;
 using boost::scoped_array;
 using boost::weak_ptr;
 using boost::optional;
+#if BOOST_VERSION >= 106100
+using namespace boost::placeholders;
+#endif
 using dcp::raw_convert;
 
 EncodeServerFinder* EncodeServerFinder::_instance = 0;
@@ -70,25 +74,19 @@ EncodeServerFinder::~EncodeServerFinder ()
 void
 EncodeServerFinder::stop ()
 {
+       boost::this_thread::disable_interruption dis;
+
        _stop = true;
 
        _search_condition.notify_all ();
-       if (_search_thread.joinable()) {
-               try {
-                       _search_thread.join();
-               } catch (...) {
-
-               }
-       }
+       try {
+               _search_thread.join();
+       } catch (...) {}
 
        _listen_io_service.stop ();
-       if (_listen_thread.joinable()) {
-               try {
-                       _listen_thread.join ();
-               } catch (...) {
-
-               }
-       }
+       try {
+               _listen_thread.join ();
+       } catch (...) {}
 
        boost::mutex::scoped_lock lm (_servers_mutex);
        _servers.clear ();