diff options
author | Sebastian Wilhelmi <wilhelmi@ira.uka.de> | 2002-04-13 10:08:31 +0000 |
---|---|---|
committer | Sebastian Wilhelmi <wilhelmi@src.gnome.org> | 2002-04-13 10:08:31 +0000 |
commit | 64855733d7e8fd60c5b279668b2cc48a3f121a83 (patch) | |
tree | 4511af65c0db451de4d63a2af5e9cfb7708a0083 | |
parent | 0dac3e9e498d4a65c5eb1803477b29e9a58d6566 (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-- | ChangeLog | 5 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 5 | ||||
-rw-r--r-- | ChangeLog.pre-2-12 | 5 | ||||
-rw-r--r-- | ChangeLog.pre-2-2 | 5 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 5 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 5 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 5 | ||||
-rw-r--r-- | glib/gthreadpool.c | 9 |
8 files changed, 40 insertions, 4 deletions
@@ -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); } } |