summaryrefslogtreecommitdiff
path: root/src/lib/update_checker.cc
AgeCommit message (Collapse)Author
2023-03-30Use CURLOPT_NOSIGNAL to fix crashes on update check (#2495).Carl Hetherington
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.
2022-05-02Replace some raw arrays with std::vectors.Carl Hetherington
2021-07-02Don't abort the update checker thread when one curl_easy_perform fails.Carl Hetherington
2021-07-01Remove unused variable.Carl Hetherington
2021-02-17Assorted C++11 tidying.Carl Hetherington
2020-07-29Fix bugs in thread termination causing occasional pthreadCarl Hetherington
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 (...) {}
2020-01-30Various thread cleanups.Carl Hetherington
2018-07-14Fix update check (#1338).Carl Hetherington
2018-03-24Fix update checket error when there is no test version.Carl Hetherington
2018-02-16Name threads on Linux.Carl Hetherington
2016-08-12Move raw_convert into libdcp.Carl Hetherington
2016-08-12Remove all use of stringstream in an attempt to fixCarl Hetherington
the suspected thread-unsafe crash bugs on OS X.
2016-07-22Rename SafeStringStream -> locked_stringstream. Bump deps for removal of ↵Carl Hetherington
stringstream.
2016-07-03Remove several exception-throwing asserts from destructors.Carl Hetherington
2016-05-25No-op; fix GPL address and use the explicit-program-name version.Carl Hetherington
2015-11-14Fix various misbehaviours with update checking (#749).Carl Hetherington
2015-09-24assert (joinable) before joining threads.Carl Hetherington
2015-09-14Lots of #include <iostream>s for Arch.Carl Hetherington
2015-09-01Don't start thread in constructor; tidy up thread in destructor (UpdateChecker).Carl Hetherington
2015-09-01update.{cc,h} -> update_checker.{cc,h}.Carl Hetherington