structure. The BASE-TORTURE test found this problem - caused because
the messaging path was not unique.
If we didn't use a macro for cluster_id_equal(), we could make it
opaque, and avoid this...
Andrew Bartlett
(This used to be commit
c3387545c57d2dd4922b4f3806b4552cee8035a3)
/*
test for same cluster id
*/
-#define cluster_id_equal(id1, id2) ((id1)->id == (id2)->id && (id1)->node == (id2)->node)
+#define cluster_id_equal(id_1, id_2) ((id_1)->id == (id_2)->id \
+ && (id_1)->id2 == (id_2)->id2 \
+ && (id_1)->node == (id_2)->node)
/*
test for same cluster node
*/
static char *messaging_path(struct messaging_context *msg, struct server_id server_id)
{
- return talloc_asprintf(msg, "%s/msg.%u.%u", msg->base_path,
- (unsigned)server_id.node, (unsigned)server_id.id);
+ return talloc_asprintf(msg, "%s/msg.%s", msg->base_path,
+ cluster_id_string(msg, server_id));
}
/*