mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-06 10:46:21 +08:00
Tweak reader_pid check
Check again after acquiring rmutex. Avoids potential issue with a duplicate pid coming in between initial check and rmutex.
This commit is contained in:
parent
b1dc72b6b5
commit
de72c08660
@ -8092,11 +8092,13 @@ int mdb_reader_check(MDB_env *env, int *dead)
|
||||
if (mdb_pid_insert(pids, pid) == 0) {
|
||||
if (mdb_reader_pid(env, Pidcheck, pid)) {
|
||||
LOCK_MUTEX_R(env);
|
||||
for (j=i; j<rdrs; j++)
|
||||
if (mr[j].mr_pid == pid) {
|
||||
mr[j].mr_pid = 0;
|
||||
count++;
|
||||
}
|
||||
if (mdb_reader_pid(env, Pidcheck, pid)) {
|
||||
for (j=i; j<rdrs; j++)
|
||||
if (mr[j].mr_pid == pid) {
|
||||
mr[j].mr_pid = 0;
|
||||
count++;
|
||||
}
|
||||
}
|
||||
UNLOCK_MUTEX_R(env);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user