[Cluster-devel] cluster/cman/daemon barrier.c commands.c
pcaulfield at sourceware.org
pcaulfield at sourceware.org
Wed Jun 13 09:13:37 UTC 2007
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;
}
More information about the Cluster-devel
mailing list