brasero r1690 - in trunk: . src/plugins/checksum src/plugins/dvdcss src/plugins/libburnia src/plugins/local-track
- From: philippr svn gnome org
- To: svn-commits-list gnome org
- Subject: brasero r1690 - in trunk: . src/plugins/checksum src/plugins/dvdcss src/plugins/libburnia src/plugins/local-track
- Date: Mon, 5 Jan 2009 17:25:10 +0000 (UTC)
Author: philippr
Date: Mon Jan 5 17:25:10 2009
New Revision: 1690
URL: http://svn.gnome.org/viewvc/brasero?rev=1690&view=rev
Log:
2009-01-05 Philippe Rouquier <ykw localhost localdomain>
Fix a very rare race condition problem with little amount of data
* src/plugins/checksum/burn-checksum-files.c
(brasero_checksum_files_start):
* src/plugins/checksum/burn-checksum-image.c
(brasero_checksum_image_start):
* src/plugins/dvdcss/burn-dvdcss.c (brasero_dvdcss_start):
* src/plugins/libburnia/burn-libisofs.c
(brasero_libisofs_create_image), (brasero_libisofs_create_volume):
* src/plugins/local-track/burn-local-image.c
(brasero_local_track_start_thread):
* src/plugins/local-track/burn-uri.c (brasero_burn_uri_thread),
(brasero_burn_uri_start_thread):
Modified:
trunk/ChangeLog
trunk/src/plugins/checksum/burn-checksum-files.c
trunk/src/plugins/checksum/burn-checksum-image.c
trunk/src/plugins/dvdcss/burn-dvdcss.c
trunk/src/plugins/libburnia/burn-libisofs.c
trunk/src/plugins/local-track/burn-local-image.c
trunk/src/plugins/local-track/burn-uri.c
Modified: trunk/src/plugins/checksum/burn-checksum-files.c
==============================================================================
--- trunk/src/plugins/checksum/burn-checksum-files.c (original)
+++ trunk/src/plugins/checksum/burn-checksum-files.c Mon Jan 5 17:25:10 2009
@@ -1139,10 +1139,12 @@
/* we start a thread for the exploration of the graft points */
priv = BRASERO_CHECKSUM_FILES_PRIVATE (job);
+ g_mutex_lock (priv->mutex);
priv->thread = g_thread_create (brasero_checksum_files_thread,
BRASERO_CHECKSUM_FILES (job),
TRUE,
error);
+ g_mutex_unlock (priv->mutex);
if (!priv->thread)
return BRASERO_BURN_ERR;
Modified: trunk/src/plugins/checksum/burn-checksum-image.c
==============================================================================
--- trunk/src/plugins/checksum/burn-checksum-image.c (original)
+++ trunk/src/plugins/checksum/burn-checksum-image.c Mon Jan 5 17:25:10 2009
@@ -611,10 +611,13 @@
/* we start a thread for the exploration of the graft points */
priv = BRASERO_CHECKSUM_IMAGE_PRIVATE (job);
+ g_mutex_lock (priv->mutex);
priv->thread = g_thread_create (brasero_checksum_image_thread,
BRASERO_CHECKSUM_IMAGE (job),
TRUE,
error);
+ g_mutex_unlock (priv->mutex);
+
if (!priv->thread)
return BRASERO_BURN_ERR;
Modified: trunk/src/plugins/dvdcss/burn-dvdcss.c
==============================================================================
--- trunk/src/plugins/dvdcss/burn-dvdcss.c (original)
+++ trunk/src/plugins/dvdcss/burn-dvdcss.c Mon Jan 5 17:25:10 2009
@@ -550,10 +550,12 @@
if (!brasero_dvdcss_library_init (error))
return BRASERO_BURN_ERR;
+ g_mutex_lock (priv->mutex);
priv->thread = g_thread_create (brasero_dvdcss_write_image_thread,
self,
TRUE,
error);
+ g_mutex_unlock (priv->mutex);
if (!priv->thread)
return BRASERO_BURN_ERR;
Modified: trunk/src/plugins/libburnia/burn-libisofs.c
==============================================================================
--- trunk/src/plugins/libburnia/burn-libisofs.c (original)
+++ trunk/src/plugins/libburnia/burn-libisofs.c Mon Jan 5 17:25:10 2009
@@ -312,10 +312,12 @@
iso_set_msgs_severities ("NEVER", "ALL", "brasero (libisofs)");
+ g_mutex_lock (priv->mutex);
priv->thread = g_thread_create (brasero_libisofs_thread_started,
self,
TRUE,
error);
+ g_mutex_unlock (priv->mutex);
if (!priv->thread)
return BRASERO_BURN_ERR;
@@ -840,10 +842,12 @@
}
iso_set_msgs_severities ("NEVER", "ALL", "brasero (libisofs)");
+ g_mutex_lock (priv->mutex);
priv->thread = g_thread_create (brasero_libisofs_create_volume_thread,
self,
TRUE,
error);
+ g_mutex_unlock (priv->mutex);
if (!priv->thread)
return BRASERO_BURN_ERR;
Modified: trunk/src/plugins/local-track/burn-local-image.c
==============================================================================
--- trunk/src/plugins/local-track/burn-local-image.c (original)
+++ trunk/src/plugins/local-track/burn-local-image.c Mon Jan 5 17:25:10 2009
@@ -784,10 +784,13 @@
if (priv->thread)
return BRASERO_BURN_RUNNING;
+ g_mutex_lock (priv->mutex);
priv->thread = g_thread_create (brasero_local_track_thread,
self,
TRUE,
error);
+ g_mutex_unlock (priv->mutex);
+
if (!priv->thread)
return BRASERO_BURN_ERR;
Modified: trunk/src/plugins/local-track/burn-uri.c
==============================================================================
--- trunk/src/plugins/local-track/burn-uri.c (original)
+++ trunk/src/plugins/local-track/burn-uri.c Mon Jan 5 17:25:10 2009
@@ -342,15 +342,15 @@
end:
- if (!g_cancellable_is_cancelled (priv->cancel))
+ if (!g_cancellable_is_cancelled (priv->cancel))
priv->thread_id = g_idle_add ((GSourceFunc) brasero_burn_uri_thread_finished, self);
/* End thread */
g_mutex_lock (priv->mutex);
- priv->thread = NULL;
+ g_atomic_pointer_set (&priv->thread, NULL);
g_cond_signal (priv->cond);
g_mutex_unlock (priv->mutex);
-
+
g_thread_exit (NULL);
return NULL;
@@ -367,10 +367,12 @@
if (priv->thread)
return BRASERO_BURN_RUNNING;
+ g_mutex_lock (priv->mutex);
priv->thread = g_thread_create (brasero_burn_uri_thread,
self,
TRUE,
error);
+ g_mutex_unlock (priv->mutex);
if (!priv->thread)
return BRASERO_BURN_ERR;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]