]> sourceware.org Git - lvm2.git/commitdiff
Fix a thread race in clvmd that could cause lockups on very busy systems
authorChristine Caulfield <ccaulfie@redhat.com>
Tue, 6 Apr 2010 15:29:30 +0000 (15:29 +0000)
committerChristine Caulfield <ccaulfie@redhat.com>
Tue, 6 Apr 2010 15:29:30 +0000 (15:29 +0000)
WHATS_NEW
daemons/clvmd/clvmd.c

index d1161b2da1ce6c493ff30772bbb3543622cdba55..75e3221e0ac87621bbb7b196f86d3dc32473dfbc 100644 (file)
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
 Version 2.02.63 -  
 ================================
+  Fix another thread race in clvmd.
   Refactor management of vg->pvs list.
   Fix lcov rules and generate better coverage report.
   Improve vg_validate to detect some loops in lists.
index fb1e7626f5b42c771ee8146ff99310feaa36a5f7..d0ea1422d1d5809cc3bc9aa58bff8f5631fc6300 100644 (file)
@@ -1516,7 +1516,8 @@ static __attribute__ ((noreturn)) void *pre_and_post_thread(void *arg)
                DEBUGLOG("Waiting to do post command - state = %d\n",
                         client->bits.localsock.state);
 
-               if (client->bits.localsock.state != POST_COMMAND) {
+               if (client->bits.localsock.state != POST_COMMAND &&
+                   !client->bits.localsock.finished) {
                        pthread_cond_wait(&client->bits.localsock.cond,
                                          &client->bits.localsock.mutex);
                }
This page took 0.04125 seconds and 5 git commands to generate.