correct anymore. If we actually open the tdb before the fork, we end up
opening the tdb twice. Jerry, jra, this also happens in the locking and
printing subsystems. You might want to check it there (not that it actually
happens right now, but this gave me some confusion lately...).
Volker
(This used to be commit
40cad9dcc14ddec0ce74bb9010d13bd82e4d10af)
static BOOL init_group_mapping(void)
{
- static pid_t local_pid;
const char *vstring = "INFO/version";
int32 vers_id;
- if (tdb && local_pid == sys_getpid())
+ if (tdb)
return True;
tdb = tdb_open_log(lock_path("group_mapping.tdb"), 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
if (!tdb) {
return False;
}
- local_pid = sys_getpid();
-
/* handle a Samba upgrade */
tdb_lock_bystring(tdb, vstring, 0);
BOOL init_account_policy(void)
{
- static pid_t local_pid;
const char *vstring = "INFO/version";
uint32 version;
- if (tdb && local_pid == sys_getpid())
+ if (tdb)
return True;
tdb = tdb_open_log(lock_path("account_policy.tdb"), 0, TDB_DEFAULT, O_RDWR|O_CREAT, 0600);
if (!tdb) {
return False;
}
- local_pid = sys_getpid();
-
/* handle a Samba upgrade */
tdb_lock_bystring(tdb, vstring,0);
if (!tdb_fetch_uint32(tdb, vstring, &version) || version != DATABASE_VERSION) {