-
When looking for an already open log file, do not examine a file name
structure if its reference count is 0. This problem cannot cause data
corruption, but may cause program failure.
*** log/log_register.c.orig Fri Jan 15 17:40:07 1999
--- log/log_register.c Thu Feb 11 22:12:36 1999
***************
*** 70,78 ****
*/
for (maxid = 0, fnp = SH_TAILQ_FIRST(&dblp->lp->fq, __fname);
fnp != NULL; fnp = SH_TAILQ_NEXT(fnp, q, __fname)) {
! if (fnp->ref == 0 && reuse_fnp == NULL) {
! /* Entry is not in use. */
! reuse_fnp = fnp;
continue;
}
if (!memcmp(dbp->fileid, fnp->ufid, DB_FILE_ID_LEN)) {
--- 70,78 ----
*/
for (maxid = 0, fnp = SH_TAILQ_FIRST(&dblp->lp->fq, __fname);
fnp != NULL; fnp = SH_TAILQ_NEXT(fnp, q, __fname)) {
! if (fnp->ref == 0) { /* Entry is not in use. */
! if (reuse_fnp == NULL)
! reuse_fnp = fnp;
continue;
}
if (!memcmp(dbp->fileid, fnp->ufid, DB_FILE_ID_LEN)) {