summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2009-04-04 21:33:59 +0200
committerTomas Bzatek <tbzatek@users.sourceforge.net>2009-04-04 21:33:59 +0200
commit9ea454917d7e765b2ba0a7c07fc475df57935abe (patch)
tree5b389f695ce0d170a1ace63509756f5b51cdfe29
parentc572b8e7a250ecfba7836c55bb5eda4c9473280a (diff)
downloadcataract-9ea454917d7e765b2ba0a7c07fc475df57935abe.tar.xz
Lock album items
-rw-r--r--src/job-manager.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/job-manager.c b/src/job-manager.c
index 352229b..e3ae00d 100644
--- a/src/job-manager.c
+++ b/src/job-manager.c
@@ -138,7 +138,11 @@ thread_func (gpointer data)
s1 = g_strconcat (job->setup->real_templates_dir, "/", job->setup->template_photo, NULL);
s2 = g_strconcat (job->items->base_dir, "/", (item->path == NULL && item->preview) ? item->preview : item->path, NULL);
s3 = g_strconcat (job->dst_dir, "/", imgname, GET_EXT (job->setup->index_file_name), NULL);
+ /* We need to lock job->items as we're doing *lots* of accesses to it */
+ /* There were some replace_table failures due to that */
+ G_LOCK (items);
write_html_image (job->setup, s1, s2, s3, item, job->items);
+ G_UNLOCK (items);
g_free (s1);
g_free (s2);
g_free (s3);