Unlock the pool for all threads leaving it. (#78348)
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)
diff --git a/ChangeLog b/ChangeLog
index 6c0ddfc..b953800 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 6c0ddfc..b953800 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 6c0ddfc..b953800 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 6c0ddfc..b953800 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 6c0ddfc..b953800 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 6c0ddfc..b953800 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 6c0ddfc..b953800 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 020a119..25a9cd0 100644
--- a/glib/gthreadpool.c
+++ b/glib/gthreadpool.c
@@ -134,10 +134,9 @@
watcher = TRUE;
}
-
if (goto_global_pool)
{
- pool->num_threads--;
+ pool->num_threads--;
if (!pool->running && !pool->waiting)
{
@@ -146,9 +145,11 @@
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);
}
}