#include <boost/algorithm/string.hpp>
#include <boost/scoped_array.hpp>
#include <boost/foreach.hpp>
+#ifdef HAVE_VALGRIND_H
+#include <valgrind/memcheck.h>
+#endif
#include <string>
#include <vector>
#include <iostream>
using dcp::raw_convert;
EncodeServer::EncodeServer (shared_ptr<Log> log, bool verbose, int num_threads)
+#if !defined(RUNNING_ON_VALGRIND) || RUNNING_ON_VALGRIND == 0
: Server (ENCODE_FRAME_PORT)
+#else
+ : Server (ENCODE_FRAME_PORT, 2400)
+#endif
, _log (log)
, _verbose (verbose)
, _num_threads (num_threads)
}
for (int i = 0; i < _num_threads; ++i) {
- _worker_threads.push_back (new thread (bind (&EncodeServer::worker_thread, this)));
+ thread* t = new thread (bind (&EncodeServer::worker_thread, this));
+#ifdef DCPOMATIC_LINUX
+ pthread_setname_np (t->native_handle(), "encode-server-worker");
+#endif
+ _worker_threads.push_back (t);
}
_broadcast.thread = new thread (bind (&EncodeServer::broadcast_thread, this));
+#ifdef DCPOMATIC_LINUX
+ pthread_setname_np (_broadcast.thread->native_handle(), "encode-server-broadcast");
+#endif
Server::run ();
}
if (_verbose) {
cout << "Offering services to master " << _broadcast.send_endpoint.address().to_string () << "\n";
}
- shared_ptr<Socket> socket (new Socket);
+
+ try {
+ shared_ptr<Socket> socket (new Socket);
+ socket->connect (boost::asio::ip::tcp::endpoint (_broadcast.send_endpoint.address(), MAIN_SERVER_PRESENCE_PORT));
+ socket->write (xml.length() + 1);
+ socket->write ((uint8_t *) xml.c_str(), xml.length() + 1);
+ } catch (...) {
+
+ }
+
try {
- socket->connect (boost::asio::ip::tcp::endpoint (_broadcast.send_endpoint.address(), SERVER_PRESENCE_PORT));
+ shared_ptr<Socket> socket (new Socket);
+ socket->connect (boost::asio::ip::tcp::endpoint (_broadcast.send_endpoint.address(), BATCH_SERVER_PRESENCE_PORT));
socket->write (xml.length() + 1);
socket->write ((uint8_t *) xml.c_str(), xml.length() + 1);
} catch (...) {