cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: pcaulfield@sourceware.org <pcaulfield@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] cluster/cman/daemon barrier.c commands.c
Date: 13 Jun 2007 09:13:37 -0000	[thread overview]
Message-ID: <20070613091337.8974.qmail@sourceware.org> (raw)

CVSROOT:	/cvs/cluster
Module name:	cluster
Changes by:	pcaulfield at sourceware.org	2007-06-13 09:13:36

Modified files:
	cman/daemon    : barrier.c commands.c 

Log message:
	Use new openais timers

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/daemon/barrier.c.diff?cvsroot=cluster&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/cman/daemon/commands.c.diff?cvsroot=cluster&r1=1.63&r2=1.64

--- cluster/cman/daemon/barrier.c	2007/05/21 10:48:40	1.9
+++ cluster/cman/daemon/barrier.c	2007/06/13 09:13:36	1.10
@@ -33,6 +33,7 @@
 #include <openais/service/swab.h>
 #include <openais/totem/totemip.h>
 #include <openais/totem/aispoll.h>
+#include <openais/service/timer.h>
 #include "list.h"
 #include "cnxman-socket.h"
 #include "cnxman-private.h"
@@ -43,7 +44,6 @@
 #include "ais.h"
 
 extern int we_are_a_cluster_member;
-extern poll_handle ais_poll_handle;
 
 /* A barrier */
 struct cl_barrier {
@@ -62,7 +62,7 @@
 	unsigned long timeout;	/* In seconds */
 
 	struct connection *con;
-	poll_timer_handle timer;
+	openais_timer_handle timer;
 };
 
 /* A list of all current barriers */
@@ -71,7 +71,7 @@
 static void send_barrier_complete_msg(struct cl_barrier *barrier)
 {
 	if (barrier->timeout) {
-		poll_timer_delete(ais_poll_handle, barrier->timer);
+		openais_timer_delete(barrier->timer);
 		barrier->timeout = 0;
 	}
 
@@ -285,8 +285,8 @@
 
 		/* Start the timer if one was wanted */
 		if (barrier->timeout) {
-			poll_timer_add(ais_poll_handle, barrier->timeout, barrier,
-				       barrier_timer_fn, &barrier->timer);
+			openais_timer_add_duration(barrier->timeout*1000000, barrier,
+						   barrier_timer_fn, &barrier->timer);
 		}
 
 		P_BARRIER("Sending WAIT for %s\n", barrier->name);
--- cluster/cman/daemon/commands.c	2007/05/21 10:48:40	1.63
+++ cluster/cman/daemon/commands.c	2007/06/13 09:13:36	1.64
@@ -35,6 +35,7 @@
 #include <openais/totem/totempg.h>
 #include <openais/service/swab.h>
 #include <openais/service/print.h>
+#include <openais/service/timer.h>
 #include <openais/totem/aispoll.h>
 #include "list.h"
 #include "cnxman-socket.h"
@@ -70,19 +71,18 @@
        char cluster_name[MAX_CLUSTER_NAME_LEN+1];
 static char nodename[MAX_CLUSTER_MEMBER_NAME_LEN+1];
 static int wanted_nodeid;
-extern poll_handle ais_poll_handle;
 static struct cluster_node *quorum_device;
 static uint16_t cluster_id;
 static int ais_running;
 static time_t join_time;
-static poll_timer_handle quorum_device_timer;
+static openais_timer_handle quorum_device_timer;
 
 /* If CCS gets out of sync, we poll it until it isn't */
-static poll_timer_handle ccsd_timer;
+static openais_timer_handle ccsd_timer;
 static unsigned int wanted_config_version;
 static int config_error;
 
-static poll_timer_handle shutdown_timer;
+static openais_timer_handle shutdown_timer;
 static struct connection *shutdown_con;
 static uint32_t shutdown_flags;
 static int shutdown_yes;
@@ -859,7 +859,7 @@
 	/* All replies safely gathered in ? */
 	if (shutdown_yes + shutdown_no >= shutdown_expected) {
 
-		poll_timer_delete(ais_poll_handle, shutdown_timer);
+		openais_timer_delete(shutdown_timer);
 
 		if (shutdown_yes >= shutdown_expected ||
 		    shutdown_flags & SHUTDOWN_ANYWAY) {
@@ -944,8 +944,8 @@
 
 		/* Start the timer. If we don't get a full set of replies before this goes
 		   off we'll cancel the shutdown */
-		poll_timer_add(ais_poll_handle, shutdown_timeout, NULL,
-			       shutdown_timer_fn, &shutdown_timer);
+		openais_timer_add_duration(shutdown_timeout*1000, NULL,
+					   shutdown_timer_fn, &shutdown_timer);
 
 		notify_listeners(NULL, EVENT_REASON_TRY_SHUTDOWN, flags);
 
@@ -1024,10 +1024,10 @@
 	ccs_err = read_ccs_nodes(&config_version, 0);
 	if (ccs_err || config_version < wanted_config_version) {
 		log_msg(LOG_ERR, "Can't read CCS to get updated config version %d. Activity suspended on this node\n",
-				wanted_config_version);
+			wanted_config_version);
 
-		poll_timer_add(ais_poll_handle, ccsd_poll_interval, NULL,
-			       ccsd_timer_fn, &ccsd_timer);
+		openais_timer_add_duration(ccsd_poll_interval*1000, NULL,
+					   ccsd_timer_fn, &ccsd_timer);
 	}
 	else {
 		log_msg(LOG_ERR, "Now got CCS information version %d, continuing\n", config_version);
@@ -1050,8 +1050,8 @@
 		recalculate_quorum(0);
 	}
 	else {
-		poll_timer_add(ais_poll_handle, quorumdev_poll, quorum_device,
-			       quorum_device_timer_fn, &quorum_device_timer);
+		openais_timer_add_duration(quorumdev_poll*1000, quorum_device,
+					   quorum_device_timer_fn, &quorum_device_timer);
 	}
 }
 
@@ -1070,15 +1070,15 @@
                         quorum_device->state = NODESTATE_MEMBER;
                         recalculate_quorum(0);
 
-			poll_timer_add(ais_poll_handle, quorumdev_poll, quorum_device,
-				       quorum_device_timer_fn, &quorum_device_timer);
+			openais_timer_add_duration(quorumdev_poll*1000, quorum_device,
+						   quorum_device_timer_fn, &quorum_device_timer);
                 }
         }
         else {
                 if (quorum_device->state == NODESTATE_MEMBER) {
                         quorum_device->state = NODESTATE_DEAD;
                         recalculate_quorum(0);
-			poll_timer_delete(ais_poll_handle, quorum_device_timer);
+			openais_timer_delete(quorum_device_timer);
                 }
         }
 
@@ -1493,8 +1493,8 @@
 				msg->config_version);
 
 			wanted_config_version = msg->config_version;
-			poll_timer_add(ais_poll_handle, ccsd_poll_interval, NULL,
-				       ccsd_timer_fn, &ccsd_timer);
+			openais_timer_add_duration(ccsd_poll_interval*1000, NULL,
+						   ccsd_timer_fn, &ccsd_timer);
 		}
 		if (config_version > msg->config_version) {
 			// TODO tell everyone else to update...
@@ -1653,8 +1653,8 @@
 			recalculate_quorum(0);
 
 			wanted_config_version = config_version;
-			poll_timer_add(ais_poll_handle, ccsd_poll_interval, NULL,
-				       ccsd_timer_fn, &ccsd_timer);
+			openais_timer_add_duration(ccsd_poll_interval*1000, NULL,
+						   ccsd_timer_fn, &ccsd_timer);
 		}
 		break;
 	}



             reply	other threads:[~2007-06-13  9:13 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-13  9:13 pcaulfield [this message]
  -- strict thread matches above, loose matches on Subject: below --
2007-06-26  9:09 [Cluster-devel] cluster/cman/daemon barrier.c commands.c pcaulfield

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070613091337.8974.qmail@sourceware.org \
    --to=pcaulfield@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).