diff options
author | Volker Lendecke <vl@samba.org> | 2010-12-03 01:34:02 -0700 |
---|---|---|
committer | Volker Lendecke <vlendec@samba.org> | 2010-12-19 23:25:06 +0100 |
commit | d60d49efb06475a3994fa65d17a72a2b930b20d4 (patch) | |
tree | 16cda163b29a32ae75531851c52134298cfa9cd2 /source3/lib | |
parent | 1ca35347cb812aff6880f7815a2e0a952474ffd2 (diff) | |
download | samba-d60d49efb06475a3994fa65d17a72a2b930b20d4.tar.gz samba-d60d49efb06475a3994fa65d17a72a2b930b20d4.tar.bz2 samba-d60d49efb06475a3994fa65d17a72a2b930b20d4.zip |
s3: Fix serverid_exists
In the cluster case it can happen that a node just died and we did not yet have
the time to clean up serverid.tdb. If the corresponding serverid.tdb record
that represented a process was migrated away from the dead record, it
represents existence of a process where it is already dead.
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/serverid.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source3/lib/serverid.c b/source3/lib/serverid.c index dd02e51a21..ded72981ec 100644 --- a/source3/lib/serverid.c +++ b/source3/lib/serverid.c @@ -234,6 +234,10 @@ bool serverid_exists(const struct server_id *id) struct serverid_key key; TDB_DATA tdbkey; + if (lp_clustering() && !process_exists(*id)) { + return false; + } + db = serverid_db(); if (db == NULL) { return false; |