Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=538... Commit: 538becbe4b3779bf8173e6c09164aa7c8d5521ad Parent: b5f6b9d830bc4111d6de37ffe5bd7ea2c30f989c Author: Lon Hohberger lhh@redhat.com AuthorDate: Tue Aug 2 09:53:20 2011 -0400 Committer: Lon Hohberger lhh@redhat.com CommitterDate: Tue Aug 2 10:47:38 2011 -0400
rgmanager: Fix race in shutdown vs. notification
The check of db prior to taking the mutex was done as a tiny performance gain in the event that there was no dbus connection, but causes dbus_connection_get_is_connected() to crash the program if db is NULL.
Resolves: rhbz#697446
Signed-off-by: Lon Hohberger lhh@redhat.com --- rgmanager/src/daemons/update-dbus.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/rgmanager/src/daemons/update-dbus.c b/rgmanager/src/daemons/update-dbus.c index f465d1d..bff1644 100644 --- a/rgmanager/src/daemons/update-dbus.c +++ b/rgmanager/src/daemons/update-dbus.c @@ -149,12 +149,12 @@ _rgm_dbus_notify(const char *svcname, DBusMessage *msg = NULL; int ret = -1;
+ pthread_mutex_lock(&mu); + if (!db) { - goto out_free; + goto out_unlock; }
- pthread_mutex_lock(&mu); - /* Check to ensure the connection is still valid. If it * isn't, clean up and shut down the dbus connection. *
cluster-commits@lists.fedorahosted.org