summaryrefslogtreecommitdiffstats
path: root/sources
diff options
context:
space:
mode:
authorthibauth <thibauth@30fcff6e-8de6-41c7-acce-77ff6d1dd07b>2011-07-24 16:28:31 +0000
committerthibauth <thibauth@30fcff6e-8de6-41c7-acce-77ff6d1dd07b>2011-07-24 16:28:31 +0000
commita8b2b37331c7867798da8236fee816d44bf02b45 (patch)
tree6dbfac406c705a90e03054e6d6b00dc927846b70 /sources
parentc00eb0c94b16883eee98ce675f7e90cf2193e0c9 (diff)
downloadpacemaker-a8b2b37331c7867798da8236fee816d44bf02b45.tar.gz
Fix a bug in pulse broadcast
git-svn-id: https://scm.gforge.inria.fr/svn/pacemaker@47 30fcff6e-8de6-41c7-acce-77ff6d1dd07b
Diffstat (limited to 'sources')
-rw-r--r--sources/thibaut/clientGlobals.ml10
-rw-r--r--sources/thibaut/clientMessages.ml5
2 files changed, 10 insertions, 5 deletions
diff --git a/sources/thibaut/clientGlobals.ml b/sources/thibaut/clientGlobals.ml
index 9440a1a..6ded853 100644
--- a/sources/thibaut/clientGlobals.ml
+++ b/sources/thibaut/clientGlobals.ml
@@ -29,18 +29,22 @@ let string_of_sockaddr a = match a with
| ADDR_INET(a,p) -> Printf.sprintf "%s:%d" (string_of_inet_addr a) p
| _ -> ""
-let print_sockaddr_list l =
+let print_list f l =
let result = Buffer.create 100 in
Printf.bprintf result "[";
let rec aux l = match l with
| [] -> ()
- | [t] -> Printf.bprintf result "%s" (string_of_sockaddr t)
- | t::q -> Printf.bprintf result "%s," (string_of_sockaddr t); aux q
+ | [t] -> Printf.bprintf result "%s" (f t)
+ | t::q -> Printf.bprintf result "%s," (f t); aux q
in
aux l;
Printf.bprintf result "]";
Buffer.contents result
+let print_sockaddr_list l = print_list string_of_sockaddr l
+let print_user_map m = print_list (function a,b -> Printf.sprintf "%d|%d" a b)
+ (UserMap.bindings m)
+
let string_of_message m = match m with
| Ping -> "Ping"
| Pong -> "Pong"
diff --git a/sources/thibaut/clientMessages.ml b/sources/thibaut/clientMessages.ml
index 7d379ab..1fd86d0 100644
--- a/sources/thibaut/clientMessages.ml
+++ b/sources/thibaut/clientMessages.ml
@@ -173,15 +173,16 @@ let process_message time s addr =
| [] -> ()
| h::t ->
try
- let hash = UserMap.find message.id h in
+ let hash = UserMap.find my_id h in
let hmap = find_reply hash data.replies in
- if verify_branch branch then
+ if verify_branch branch then begin
let branch2 = hmap::branch in
let message = Pulse(round,seed,branch2) in
if data.phase = SEEDING then begin
data.phase <- PULSE;
end;
send_to_all message;
+ end
with
| Not_found -> ()
with