Gitweb: http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=33dedabacbdb48... Commit: 33dedabacbdb48acd8a44abab88e6c2280fc9988 Parent: eec46c265deb7704dbf91d3274e4015995268c48 Author: Ryan McCabe rmccabe@redhat.com AuthorDate: Fri Jul 12 15:42:45 2013 -0400 Committer: Ryan McCabe rmccabe@redhat.com CommitterDate: Mon Jul 22 13:00:03 2013 -0400
rgmanger: Don't destroy locked mutexes
Unlock locked mutexes before calling pthread_mutex_destroy() on them.
Related: rhbz#968322
Signed-off-by: Ryan McCabe rmccabe@redhat.com --- rgmanager/src/daemons/rg_thread.c | 18 +++++------------- 1 files changed, 5 insertions(+), 13 deletions(-)
diff --git a/rgmanager/src/daemons/rg_thread.c b/rgmanager/src/daemons/rg_thread.c index 60bf0c6..cb047ea 100644 --- a/rgmanager/src/daemons/rg_thread.c +++ b/rgmanager/src/daemons/rg_thread.c @@ -545,20 +545,12 @@ resgroup_thread_main(void *arg) raise(SIGSEGV); }
+ pthread_mutex_unlock(&my_queue_mutex); mystatus = pthread_mutex_destroy(&my_queue_mutex); - if (mystatus != 0) - { - if (mystatus == EBUSY) { - pthread_mutex_unlock(&my_queue_mutex); - } - - mystatus = pthread_mutex_destroy(&my_queue_mutex); - if (mystatus != 0) { - fprintf (stderr, "mutex_destroy=%d err=%d %p\n", - mystatus, errno, &my_queue_mutex); - - fflush (stderr); - } + if (mystatus != 0) { + fprintf(stderr, "mutex_destroy=%d err=%d %p\n", + mystatus, errno, &my_queue_mutex); + fflush (stderr); }
list_remove(&resthread_list, myself);
cluster-commits@lists.fedorahosted.org