Date: Wed, 19 Mar 2008 07:13:24 +0000 (UTC) From: Jeff Roberson <jeff@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern kern_lockf.c Message-ID: <200803190713.m2J7DOPp083103@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jeff 2008-03-19 07:13:24 UTC
FreeBSD src repository
Modified files:
sys/kern kern_lockf.c
Log:
- Fix the last of the threading bugs that were introduced as far back as
1.38 in 2001. Break out of the FOREACH_THREAD_IN_PROC loop when we've
discovered a new proc in the chain.
- Increment i and check for maxlockdepth once per matching process not
once per thread. This didn't properly terminate the loop before.
- Fix a bug which has existed potentially since rev 1.1. waitblock->lf_next
can be NULL when a thread has been woken-up but not yet scheduled. Check
for this condition rather than blindly dereferencing.
Found by: libMicro
Revision Changes Path
1.59 +12 -6 src/sys/kern/kern_lockf.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803190713.m2J7DOPp083103>
