Use CURLOPT_NOSIGNAL to fix crashes on update check (#2495). Without this, it's possible to come back from curl_easy_perform in a different thread to the one that it was called from (in the case of an error). As I understand it, this happens because a signal handler is called (from a different thread) and CURLOPT_NOSIGNAL stops this from happening.
Replace some raw arrays with std::vectors.
Don't abort the update checker thread when one curl_easy_perform fails.
Remove unused variable.
Assorted C++11 tidying.
Fix bugs in thread termination causing occasional pthread assertion failures. Before this, it was possible for J2KEncoder::terminate_threads() to finish without terminating all threads if the thread _running_ terminate_threads() was itself interrupt()ed. This is because the thread_group::join_all() in terminate_threads() is an interruption point, so it was possible it not to complete but instead to throw interrupted_exception. Then the owning J2KEncoder would be torn down but the threads would still be running, causing use-after-frees. This commit adds some boost::this_thread::disable_interruption objects to ensure that the owning thread is not interrupted while it is being destroyed. Also tidy up code that does this stuff, assuming that it's safe to not call thread::joinable but instead do thread.interrupt(); try { thread.join(); } catch (...) {}
Various thread cleanups.
Fix update check (#1338).
Fix update checket error when there is no test version.
Name threads on Linux.
Move raw_convert into libdcp.
Remove all use of stringstream in an attempt to fix the suspected thread-unsafe crash bugs on OS X.
Rename SafeStringStream -> locked_stringstream. Bump deps for removal of stringstream.
Remove several exception-throwing asserts from destructors.
No-op; fix GPL address and use the explicit-program-name version.
Fix various misbehaviours with update checking (#749).
assert (joinable) before joining threads.
Lots of #include <iostream>s for Arch.
Don't start thread in constructor; tidy up thread in destructor (UpdateChecker).
update.{cc,h} -> update_checker.{cc,h}.