summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Wilhelmi <wilhelmi@ira.uka.de>2002-04-13 10:08:31 +0000
committerSebastian Wilhelmi <wilhelmi@src.gnome.org>2002-04-13 10:08:31 +0000
commit64855733d7e8fd60c5b279668b2cc48a3f121a83 (patch)
tree4511af65c0db451de4d63a2af5e9cfb7708a0083
parent0dac3e9e498d4a65c5eb1803477b29e9a58d6566 (diff)
Unlock the pool for all threads leaving it. (#78348)glib-2-0-branchpoint
2002-04-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de> * glib/gthreadpool.c (g_thread_pool_thread_proxy): Unlock the pool for all threads leaving it. (#78348)
-rw-r--r--ChangeLog5
-rw-r--r--ChangeLog.pre-2-105
-rw-r--r--ChangeLog.pre-2-125
-rw-r--r--ChangeLog.pre-2-25
-rw-r--r--ChangeLog.pre-2-45
-rw-r--r--ChangeLog.pre-2-65
-rw-r--r--ChangeLog.pre-2-85
-rw-r--r--glib/gthreadpool.c9
8 files changed, 40 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 6c0ddfc52..b95380057 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2002-04-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib/gthreadpool.c (g_thread_pool_thread_proxy): Unlock the pool
+ for all threads leaving it. (#78348)
+
2002-04-11 Matthias Clasen <maclas@gmx.de>
* tests/patterntest.c: Remove manual UTF-8 -> Latin1 conversion for
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 6c0ddfc52..b95380057 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,8 @@
+2002-04-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib/gthreadpool.c (g_thread_pool_thread_proxy): Unlock the pool
+ for all threads leaving it. (#78348)
+
2002-04-11 Matthias Clasen <maclas@gmx.de>
* tests/patterntest.c: Remove manual UTF-8 -> Latin1 conversion for
diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12
index 6c0ddfc52..b95380057 100644
--- a/ChangeLog.pre-2-12
+++ b/ChangeLog.pre-2-12
@@ -1,3 +1,8 @@
+2002-04-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib/gthreadpool.c (g_thread_pool_thread_proxy): Unlock the pool
+ for all threads leaving it. (#78348)
+
2002-04-11 Matthias Clasen <maclas@gmx.de>
* tests/patterntest.c: Remove manual UTF-8 -> Latin1 conversion for
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 6c0ddfc52..b95380057 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,8 @@
+2002-04-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib/gthreadpool.c (g_thread_pool_thread_proxy): Unlock the pool
+ for all threads leaving it. (#78348)
+
2002-04-11 Matthias Clasen <maclas@gmx.de>
* tests/patterntest.c: Remove manual UTF-8 -> Latin1 conversion for
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 6c0ddfc52..b95380057 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,8 @@
+2002-04-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib/gthreadpool.c (g_thread_pool_thread_proxy): Unlock the pool
+ for all threads leaving it. (#78348)
+
2002-04-11 Matthias Clasen <maclas@gmx.de>
* tests/patterntest.c: Remove manual UTF-8 -> Latin1 conversion for
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 6c0ddfc52..b95380057 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,8 @@
+2002-04-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib/gthreadpool.c (g_thread_pool_thread_proxy): Unlock the pool
+ for all threads leaving it. (#78348)
+
2002-04-11 Matthias Clasen <maclas@gmx.de>
* tests/patterntest.c: Remove manual UTF-8 -> Latin1 conversion for
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 6c0ddfc52..b95380057 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,8 @@
+2002-04-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib/gthreadpool.c (g_thread_pool_thread_proxy): Unlock the pool
+ for all threads leaving it. (#78348)
+
2002-04-11 Matthias Clasen <maclas@gmx.de>
* tests/patterntest.c: Remove manual UTF-8 -> Latin1 conversion for
diff --git a/glib/gthreadpool.c b/glib/gthreadpool.c
index 020a11961..25a9cd0ec 100644
--- a/glib/gthreadpool.c
+++ b/glib/gthreadpool.c
@@ -134,10 +134,9 @@ g_thread_pool_thread_proxy (gpointer data)
watcher = TRUE;
}
-
if (goto_global_pool)
{
- pool->num_threads--;
+ pool->num_threads--;
if (!pool->running && !pool->waiting)
{
@@ -146,9 +145,11 @@ g_thread_pool_thread_proxy (gpointer data)
g_async_queue_unlock (pool->queue);
g_thread_pool_free_internal (pool);
}
- else if (len == - pool->num_threads)
+ else
{
- g_thread_pool_wakeup_and_stop_all (pool);
+ if (len == - pool->num_threads)
+ g_thread_pool_wakeup_and_stop_all (pool);
+
g_async_queue_unlock (pool->queue);
}
}