FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Cluster Development

 
 
LinkBack Thread Tools
 
Old 01-09-2008, 05:54 PM
 
Default cluster/magma-plugins Makefile sm/sm.c

CVSROOT: /cvs/cluster
Module name: cluster
Branch: RHEL4
Changes by: lhh@sourceware.org 2008-01-09 18:54:46

Modified files:
magma-plugins : Makefile
magma-plugins/sm: sm.c

Log message:
Fix #294491 - make magma_sm.so retry in dlm EINPROG condition

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/magma-plugins/Makefile.diff?cvsroot=cluster&only_with_tag=RHEL4& r1=1.2&r2=1.2.2.1
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/magma-plugins/sm/sm.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1 .9.2.12&r2=1.9.2.13

--- cluster/magma-plugins/Attic/Makefile 2004/08/03 16:39:14 1.2
+++ cluster/magma-plugins/Attic/Makefile 2008/01/09 18:54:46 1.2.2.1
@@ -10,25 +10,25 @@
################################################## #############################
################################################## #############################
all:
- cd cman && ${MAKE} all
+ #cd cman && ${MAKE} all
cd dumb && ${MAKE} all
cd gulm && ${MAKE} all
cd sm && ${MAKE} all

clean:
- cd cman && ${MAKE} clean
+ #cd cman && ${MAKE} clean
cd dumb && ${MAKE} clean
cd gulm && ${MAKE} clean
cd sm && ${MAKE} clean

install:
- cd cman && ${MAKE} install
+ #cd cman && ${MAKE} install
cd dumb && ${MAKE} install
cd gulm && ${MAKE} install
cd sm && ${MAKE} install

uninstall:
- cd cman && ${MAKE} uninstall
+ #cd cman && ${MAKE} uninstall
cd dumb && ${MAKE} uninstall
cd gulm && ${MAKE} uninstall
cd sm && ${MAKE} uninstall
--- cluster/magma-plugins/sm/Attic/sm.c 2007/04/23 18:24:58 1.9.2.12
+++ cluster/magma-plugins/sm/Attic/sm.c 2008/01/09 18:54:46 1.9.2.13
@@ -36,7 +36,7 @@
#include <sys/select.h>
#include <sys/stat.h>

-#define MODULE_DESCRIPTION "CMAN/SM Plugin v1.1.7.4"
+#define MODULE_DESCRIPTION "CMAN/SM Plugin v1.1.7.5"
#define MODULE_AUTHOR "Lon Hohberger"

#define DLM_LS_NAME "Magma"
@@ -556,8 +556,9 @@
FD_ZERO(&rfds);
FD_SET(fd, &rfds);

- if (select(fd + 1, &rfds, NULL, NULL, NULL) == 1)
+ if (select(fd + 1, &rfds, NULL, NULL, NULL) == 1) {
return dlm_dispatch(fd);
+ }

return -1;
}
@@ -577,9 +578,12 @@
if (ret < 0)
return -1;

- if ((ret = (wait_for_dlm_event(p->ls) < 0))) {
- fprintf(stderr, "wait_for_dlm_event: %d / %d
",
- ret, errno);
+ while ((ret = (wait_for_dlm_event(p->ls) < 0))) {
+ /* If nothing much has happened, just
+ wait a bit longer */
+ if (lksb->sb_status == EINPROG)
+ continue;
+ errno = lksb->sb_status;
return -1;
}

@@ -648,7 +652,11 @@

/* lksb->sb_status should be EINPROG at this point */

- if (wait_for_dlm_event(p->ls) < 0) {
+ while (wait_for_dlm_event(p->ls) < 0) {
+ /* If nothing much has happened, just
+ wait a bit longer */
+ if (lksb->sb_status == EINPROG)
+ continue;
errno = lksb->sb_status;
return -1;
}
@@ -705,8 +713,11 @@
return ret;

while (lksb.sb_status == EINPROG) {
- if (wait_for_dlm_event(p->ls) < 0)
+ if (wait_for_dlm_event(p->ls) < 0) {
+ if (lksb.sb_status == EINPROG)
+ continue;
return -1;
+ }
}

ret = -1;
 

Thread Tools




All times are GMT. The time now is 09:40 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org