Date: Fri, 28 Dec 2001 10:08:10 -0800 (PST) From: Bruce Evans <bde@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/sio sio.c Message-ID: <200112281808.fBSI8Ag24999@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
bde 2001/12/28 10:08:10 PST
Modified files:
sys/dev/sio sio.c
Log:
Fixed locking bugs in rev.1.346:
(1) Don't attempt aquire the non-recursive lock sio_lock recursively.
Doing so caused unbounded recursion in some setups. E.g., if DDB,
BREAK_TO_DEBUGGER and WITNESS are configured; if the debugger is
entered using a break, then WITNESS will actually detect the invalid
recursion and will add to it attempting to print a message about it.
(2) Don't use sio_lock before it has been initialized. The old check
(sio_inited != 0) didn't work when sio_inited was boolean because
sio_inited was set too early, and became just wrong when sio_inited
was changed to a tri-state variable in rev.1.348.
Reported and fixed in another way by: fenner (1)
Revision Changes Path
1.358 +6 -2 src/sys/dev/sio/sio.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112281808.fBSI8Ag24999>
