projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Move raw_convert into libdcp.
[dcpomatic.git]
/
src
/
lib
/
encode_server_finder.cc
diff --git
a/src/lib/encode_server_finder.cc
b/src/lib/encode_server_finder.cc
index eebf404fafa9604116fb8cb0831b7458c7390e43..e964bb8b34a76746424c5712fa84edde152b3662 100644
(file)
--- a/
src/lib/encode_server_finder.cc
+++ b/
src/lib/encode_server_finder.cc
@@
-25,7
+25,7
@@
#include "cross.h"
#include "encode_server_description.h"
#include "dcpomatic_socket.h"
#include "cross.h"
#include "encode_server_description.h"
#include "dcpomatic_socket.h"
-#include
"raw_convert.h"
+#include
<dcp/raw_convert.h>
#include <libcxml/cxml.h>
#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <libcxml/cxml.h>
#include <boost/lambda/lambda.hpp>
#include <iostream>
@@
-39,12
+39,12
@@
using std::cout;
using boost::shared_ptr;
using boost::scoped_array;
using boost::weak_ptr;
using boost::shared_ptr;
using boost::scoped_array;
using boost::weak_ptr;
+using dcp::raw_convert;
EncodeServerFinder* EncodeServerFinder::_instance = 0;
EncodeServerFinder::EncodeServerFinder ()
EncodeServerFinder* EncodeServerFinder::_instance = 0;
EncodeServerFinder::EncodeServerFinder ()
- : _disabled (false)
- , _search_thread (0)
+ : _search_thread (0)
, _listen_thread (0)
, _stop (false)
{
, _listen_thread (0)
, _stop (false)
{
@@
-58,7
+58,14
@@
EncodeServerFinder::start ()
_listen_thread = new boost::thread (boost::bind (&EncodeServerFinder::listen_thread, this));
}
_listen_thread = new boost::thread (boost::bind (&EncodeServerFinder::listen_thread, this));
}
+
EncodeServerFinder::~EncodeServerFinder ()
EncodeServerFinder::~EncodeServerFinder ()
+{
+ stop ();
+}
+
+void
+EncodeServerFinder::stop ()
{
_stop = true;
{
_stop = true;
@@
-71,6
+78,8
@@
EncodeServerFinder::~EncodeServerFinder ()
_search_thread->join ();
}
}
_search_thread->join ();
}
}
+ delete _search_thread;
+ _search_thread = 0;
_listen_io_service.stop ();
if (_listen_thread) {
_listen_io_service.stop ();
if (_listen_thread) {
@@
-81,6
+90,11
@@
EncodeServerFinder::~EncodeServerFinder ()
_listen_thread->join ();
}
}
_listen_thread->join ();
}
}
+ delete _listen_thread;
+ _listen_thread = 0;
+
+ boost::mutex::scoped_lock lm (_servers_mutex);
+ _servers.clear ();
}
void
}
void