summaryrefslogtreecommitdiff
path: root/source4/cluster/local.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2008-02-04 17:51:38 +1100
committerAndrew Bartlett <abartlet@samba.org>2008-02-04 17:51:38 +1100
commit77f71c1b65358723771354fd9ff1dc418b227ccc (patch)
tree2b1b96d1f3dcd55997fd6d48e75085ff506fb0a2 /source4/cluster/local.c
parent23d681caf9c1186999ac676d70a1eb0e8a43e358 (diff)
downloadsamba-77f71c1b65358723771354fd9ff1dc418b227ccc.tar.gz
samba-77f71c1b65358723771354fd9ff1dc418b227ccc.tar.bz2
samba-77f71c1b65358723771354fd9ff1dc418b227ccc.zip
Rework cluster_id() to take an additional argument, as we need
<node>.<pid>.<fd> to be unique in a prefork process environment. Andrew Bartlett and David Disseldorp (This used to be commit 931994a7f185bbc98924823e9e8cef1011dd0957)
Diffstat (limited to 'source4/cluster/local.c')
-rw-r--r--source4/cluster/local.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/source4/cluster/local.c b/source4/cluster/local.c
index 539e47d271..96636927f1 100644
--- a/source4/cluster/local.c
+++ b/source4/cluster/local.c
@@ -31,11 +31,12 @@
/*
server a server_id for the local node
*/
-static struct server_id local_id(struct cluster_ops *ops, uint32_t id)
+static struct server_id local_id(struct cluster_ops *ops, uint64_t id, uint32_t id2)
{
struct server_id server_id;
ZERO_STRUCT(server_id);
server_id.id = id;
+ server_id.id2 = id2;
return server_id;
}
@@ -46,7 +47,7 @@ static struct server_id local_id(struct cluster_ops *ops, uint32_t id)
static const char *local_id_string(struct cluster_ops *ops,
TALLOC_CTX *mem_ctx, struct server_id id)
{
- return talloc_asprintf(mem_ctx, "%u.%u", id.node, id.id);
+ return talloc_asprintf(mem_ctx, "%u.%llu.%u", id.node, (unsigned long long)id.id, id.id2);
}