Cluster Project branch, master, updated. gfs-kernel_0_1_22-184-gf448484

lhh@sourceware.org lhh@sourceware.org
Fri Apr 18 18:19:00 GMT 2008


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Cluster Project".

http://sources.redhat.com/git/gitweb.cgi?p=cluster.git;a=commitdiff;h=f44848458ce9ec9c32d3854c575368812318da63

The branch, master has been updated
       via  f44848458ce9ec9c32d3854c575368812318da63 (commit)
      from  2627512a870e654665b0d973a2171fbafbcbbf0d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f44848458ce9ec9c32d3854c575368812318da63
Author: Lon Hohberger <lhh@redhat.com>
Date:   Fri Apr 18 14:19:07 2008 -0400

    [fence] Close file descriptors that are in invalid/error states
    
    If poll was returning with a file descriptor noted as active,
    but with the POLLERR/POLLNVAL flags set (but not POLLIN or
    POLLHUP), fenced and groupd would enter a tight spin loop.
    
    This fixes that condition.

-----------------------------------------------------------------------

Summary of changes:
 fence/fenced/main.c |    2 +-
 group/daemon/main.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fence/fenced/main.c b/fence/fenced/main.c
index 8f7960c..e9ebfb8 100644
--- a/fence/fenced/main.c
+++ b/fence/fenced/main.c
@@ -494,7 +494,7 @@ static int loop(void)
 		for (i = 1; i <= maxi; i++) {
 			if (client[i].fd < 0)
 				continue;
-			if (pollfd[i].revents & POLLHUP) {
+			if (pollfd[i].revents & (POLLERR | POLLHUP | POLLNVAL)) {
 				if (pollfd[i].fd == member_fd) {
 					log_error("cluster is down, exiting");
 					exit(1);
diff --git a/group/daemon/main.c b/group/daemon/main.c
index 3274b79..af7d5bd 100644
--- a/group/daemon/main.c
+++ b/group/daemon/main.c
@@ -764,7 +764,7 @@ static int loop(void)
 		for (i = 0; i <= client_maxi; i++) {
 			if (client[i].fd < 0)
 				continue;
-			if (pollfd[i].revents & POLLHUP) {
+			if (pollfd[i].revents & (POLLERR | POLLHUP | POLLNVAL)) {
 				deadfn = client[i].deadfn;
 				deadfn(i);
 			} else if (pollfd[i].revents & POLLIN) {


hooks/post-receive
--
Cluster Project



More information about the Cluster-cvs mailing list