Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Bill Sommerfeld <sommerfeld@netbsd.org>
List: source-changes
Date: 06/12/2000 07:33:07
Module Name: syssrc
Committed By: sommerfeld
Date: Mon Jun 12 14:33:07 UTC 2000
Modified Files:
syssrc/sys/kern: vfs_lockf.c
syssrc/sys/sys: lockf.h
Log Message:
Fix several problems with lockf/fcntl byte range locks:
- document a data structure invariant in lockf.h
- add KASSERT() to check the invariant.
- be more consistent about dequeuing ourselves from the blocked list
after a tsleep().
- Fix two places where the invariant is violated.
- correct a few comments here and there
- If we're still following a lock dependancy chain after maxlockdepth
processes and haven't gotten back to the start, assume that we're in a
cycle anyway and return EDEADLK.
Fix is a superset of an existing fix in FreeBSD, but independantly
derived.
Fixes kern/3860.
To generate a diff of this commit:
cvs rdiff -r1.15 -r1.16 syssrc/sys/kern/vfs_lockf.c
cvs rdiff -r1.7 -r1.8 syssrc/sys/sys/lockf.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.