This is the mail archive of the cluster-cvs@sourceware.org mailing list for the cluster.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]