patch attached to fix

regards
-steve
On Wed, 2009-07-01 at 14:01 +0200, Wojtek Meler wrote:
> I've noticed a little API inconsistency. Every corosync service defines 
> callbacks which receive handle obtained from initialize function as 
> first argument.
> EVS is different - callbacks don't get handles. Without them one is 
> forced to use global / thread variables to remember which handle is 
> passed to evs_dispatch.
> Is there any chance to fix API in near future?
> 
> Regards,
> Wojtek
> _______________________________________________
> Openais mailing list
> Openais@lists.linux-foundation.org
> https://lists.linux-foundation.org/mailman/listinfo/openais
Index: test/evsverify.c
===================================================================
--- test/evsverify.c	(revision 2332)
+++ test/evsverify.c	(working copy)
@@ -55,6 +55,7 @@
 
 static int deliveries = 0;
 static void evs_deliver_fn (
+	hdb_handle_t handle,
 	unsigned int nodeid,
 	const void *m,
 	size_t msg_len)
@@ -81,9 +82,10 @@
 }
 
 static void evs_confchg_fn (
-	unsigned int *member_list, size_t member_list_entries,
-	unsigned int *left_list, size_t left_list_entries,
-	unsigned int *joined_list, size_t joined_list_entries)
+	hdb_handle_t handle,
+	const unsigned int *member_list, size_t member_list_entries,
+	const unsigned int *left_list, size_t left_list_entries,
+	const unsigned int *joined_list, size_t joined_list_entries)
 {
 	int i;
 
Index: test/evsbench.c
===================================================================
--- test/evsbench.c	(revision 2333)
+++ test/evsbench.c	(working copy)
@@ -69,6 +69,7 @@
 volatile static int alarm_notice = 0;
 
 static void evs_deliver_fn (
+	hdb_handle_t handle,
 	unsigned int nodeid,
 	const void *msg,
 	size_t msg_len)
@@ -76,6 +77,7 @@
 }
 
 static void evs_confchg_fn (
+	hdb_handle_t handle,
 	const unsigned int *member_list, size_t member_list_entries,
 	const unsigned int *left_list, size_t left_list_entries,
 	const unsigned int *joined_list, size_t joined_list_entries)
Index: test/testevs.c
===================================================================
--- test/testevs.c	(revision 2333)
+++ test/testevs.c	(working copy)
@@ -48,6 +48,7 @@
 
 static int deliveries = 0;
 static void evs_deliver_fn (
+	hdb_handle_t handle,
 	unsigned int nodeid,
 	const void *msg,
 	size_t msg_len)
@@ -59,6 +60,7 @@
 }
 
 static void evs_confchg_fn (
+	hdb_handle_t handle,
 	const unsigned int *member_list, size_t member_list_entries,
 	const unsigned int *left_list, size_t left_list_entries,
 	const unsigned int *joined_list, size_t joined_list_entries)
Index: include/corosync/evs.h
===================================================================
--- include/corosync/evs.h	(revision 2333)
+++ include/corosync/evs.h	(working copy)
@@ -36,6 +36,7 @@
 #include <inttypes.h>
 #include <netinet/in.h>
 #include <corosync/corotypes.h>
+#include <corosync/hdb.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -67,11 +68,13 @@
 };
 
 typedef void (*evs_deliver_fn_t) (
+	hdb_handle_t handle, 
 	unsigned int nodeid,
 	const void *msg,
 	size_t msg_len);
 
 typedef void (*evs_confchg_fn_t) (
+	hdb_handle_t handle, 
 	const unsigned int *member_list, size_t member_list_entries,
 	const unsigned int *left_list, size_t left_list_entries,
 	const unsigned int *joined_list, size_t joined_list_entries);
Index: lib/evs.c
===================================================================
--- lib/evs.c	(revision 2332)
+++ lib/evs.c	(working copy)
@@ -279,6 +279,7 @@
 		case MESSAGE_RES_EVS_DELIVER_CALLBACK:
 			res_evs_deliver_callback = (struct res_evs_deliver_callback *)dispatch_data;
 			callbacks.evs_deliver_fn (
+				handle,
 				res_evs_deliver_callback->local_nodeid,
 				&res_evs_deliver_callback->msg,
 				res_evs_deliver_callback->msglen);
@@ -287,6 +288,7 @@
 		case MESSAGE_RES_EVS_CONFCHG_CALLBACK:
 			res_evs_confchg_callback = (struct res_evs_confchg_callback *)dispatch_data;
 			callbacks.evs_confchg_fn (
+				handle,
 				res_evs_confchg_callback->member_list,
 				res_evs_confchg_callback->member_list_entries,
 				res_evs_confchg_callback->left_list,
_______________________________________________
Openais mailing list
Openais@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to