From a2760140c83d32887a0f3f16cd2a49fd2a3adb59 Mon Sep 17 00:00:00 2001 From: Sebastian Wilhelmi Date: Sun, 17 Oct 1999 16:04:49 +0000 Subject: [PATCH] remove g_dataset_global_lock around destroy() notification here as well. Sun Oct 17 18:11:40 1999 Tim Janik * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around destroy() notification here as well. 1999-10-15 Sebastian Wilhelmi * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist is called recursivly. Reported by Ola Andersson . --- ChangeLog | 10 ++++++++++ ChangeLog.pre-2-0 | 10 ++++++++++ ChangeLog.pre-2-10 | 10 ++++++++++ ChangeLog.pre-2-12 | 10 ++++++++++ ChangeLog.pre-2-2 | 10 ++++++++++ ChangeLog.pre-2-4 | 10 ++++++++++ ChangeLog.pre-2-6 | 10 ++++++++++ ChangeLog.pre-2-8 | 10 ++++++++++ gdataset.c | 14 ++++++++++++-- glib/gdataset.c | 14 ++++++++++++-- 10 files changed, 104 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5502212..d8eca43 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Sun Oct 17 18:11:40 1999 Tim Janik + + * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around + destroy() notification here as well. + +1999-10-15 Sebastian Wilhelmi + + * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist + is called recursivly. Reported by Ola Andersson . + Tue Oct 12 14:17:12 1999 Tim Janik * glib.h: removed useless g_string(x) macro that cluttered the namespace diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 5502212..d8eca43 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,13 @@ +Sun Oct 17 18:11:40 1999 Tim Janik + + * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around + destroy() notification here as well. + +1999-10-15 Sebastian Wilhelmi + + * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist + is called recursivly. Reported by Ola Andersson . + Tue Oct 12 14:17:12 1999 Tim Janik * glib.h: removed useless g_string(x) macro that cluttered the namespace diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 5502212..d8eca43 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,13 @@ +Sun Oct 17 18:11:40 1999 Tim Janik + + * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around + destroy() notification here as well. + +1999-10-15 Sebastian Wilhelmi + + * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist + is called recursivly. Reported by Ola Andersson . + Tue Oct 12 14:17:12 1999 Tim Janik * glib.h: removed useless g_string(x) macro that cluttered the namespace diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 5502212..d8eca43 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,13 @@ +Sun Oct 17 18:11:40 1999 Tim Janik + + * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around + destroy() notification here as well. + +1999-10-15 Sebastian Wilhelmi + + * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist + is called recursivly. Reported by Ola Andersson . + Tue Oct 12 14:17:12 1999 Tim Janik * glib.h: removed useless g_string(x) macro that cluttered the namespace diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 5502212..d8eca43 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,13 @@ +Sun Oct 17 18:11:40 1999 Tim Janik + + * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around + destroy() notification here as well. + +1999-10-15 Sebastian Wilhelmi + + * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist + is called recursivly. Reported by Ola Andersson . + Tue Oct 12 14:17:12 1999 Tim Janik * glib.h: removed useless g_string(x) macro that cluttered the namespace diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 5502212..d8eca43 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,13 @@ +Sun Oct 17 18:11:40 1999 Tim Janik + + * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around + destroy() notification here as well. + +1999-10-15 Sebastian Wilhelmi + + * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist + is called recursivly. Reported by Ola Andersson . + Tue Oct 12 14:17:12 1999 Tim Janik * glib.h: removed useless g_string(x) macro that cluttered the namespace diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 5502212..d8eca43 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,13 @@ +Sun Oct 17 18:11:40 1999 Tim Janik + + * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around + destroy() notification here as well. + +1999-10-15 Sebastian Wilhelmi + + * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist + is called recursivly. Reported by Ola Andersson . + Tue Oct 12 14:17:12 1999 Tim Janik * glib.h: removed useless g_string(x) macro that cluttered the namespace diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 5502212..d8eca43 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,13 @@ +Sun Oct 17 18:11:40 1999 Tim Janik + + * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around + destroy() notification here as well. + +1999-10-15 Sebastian Wilhelmi + + * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist + is called recursivly. Reported by Ola Andersson . + Tue Oct 12 14:17:12 1999 Tim Janik * glib.h: removed useless g_string(x) macro that cluttered the namespace diff --git a/gdataset.c b/gdataset.c index b35c911..2aa4032 100644 --- a/gdataset.c +++ b/gdataset.c @@ -110,7 +110,11 @@ g_datalist_clear_i (GData **datalist) list = prev->next; if (prev->destroy_func) - prev->destroy_func (prev->data); + { + G_UNLOCK (g_dataset_global); + prev->destroy_func (prev->data); + G_LOCK (g_dataset_global); + } if (g_data_cache_length < G_DATA_CACHE_MAX) { @@ -233,7 +237,11 @@ g_data_set_internal (GData **datalist, * data without destroy notification */ if (list->destroy_func && !destroy_func) - list->destroy_func (list->data); + { + G_UNLOCK (g_dataset_global); + list->destroy_func (list->data); + G_LOCK (g_dataset_global); + } if (g_data_cache_length < G_DATA_CACHE_MAX) { @@ -275,7 +283,9 @@ g_data_set_internal (GData **datalist, /* we need to have updated all structures prior to * invokation of the destroy function */ + G_UNLOCK (g_dataset_global); dfunc (ddata); + G_LOCK (g_dataset_global); } return; diff --git a/glib/gdataset.c b/glib/gdataset.c index b35c911..2aa4032 100644 --- a/glib/gdataset.c +++ b/glib/gdataset.c @@ -110,7 +110,11 @@ g_datalist_clear_i (GData **datalist) list = prev->next; if (prev->destroy_func) - prev->destroy_func (prev->data); + { + G_UNLOCK (g_dataset_global); + prev->destroy_func (prev->data); + G_LOCK (g_dataset_global); + } if (g_data_cache_length < G_DATA_CACHE_MAX) { @@ -233,7 +237,11 @@ g_data_set_internal (GData **datalist, * data without destroy notification */ if (list->destroy_func && !destroy_func) - list->destroy_func (list->data); + { + G_UNLOCK (g_dataset_global); + list->destroy_func (list->data); + G_LOCK (g_dataset_global); + } if (g_data_cache_length < G_DATA_CACHE_MAX) { @@ -275,7 +283,9 @@ g_data_set_internal (GData **datalist, /* we need to have updated all structures prior to * invokation of the destroy function */ + G_UNLOCK (g_dataset_global); dfunc (ddata); + G_LOCK (g_dataset_global); } return; -- 2.7.4