summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2012-10-25 00:52:21 +0100
committerCarl Hetherington <cth@carlh.net>2012-10-25 00:52:21 +0100
commitc6e4389c8fcf7e60f71292bf62c8ff5c23ded662 (patch)
treeb68b9ff4496f5fe0176ffed6e23efdef667fc32c /src/lib
parentacf965b01086899028aad143e2733bffef79e33e (diff)
Fix deadlock on saving metadata.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/film.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 5493f6306..fd8b90d99 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -388,9 +388,11 @@ Film::thumb_subtitle (int n) const
void
Film::write_metadata () const
{
- boost::mutex::scoped_lock lm (_state_mutex);
+ std::string const dir = directory ();
- boost::filesystem::create_directories (directory());
+ boost::mutex::scoped_lock lm (_state_mutex);
+
+ boost::filesystem::create_directories (dir);
string const m = file_locked ("metadata");
ofstream f (m.c_str ());