On 16-Aug-01 David O'Brien wrote:
># uname -a
> FreeBSD phuong.nuxi.com 5.0-CURRENT FreeBSD 5.0-CURRENT #12: Sun Jul 15
> 19:07:45 PDT 2001
> [EMAIL PROTECTED]:/files/Current/sys/alpha/compile/DS20 alpha
Looks like a trapsignal() in trap() is being called w/o Giant. I'll look at it.
Try this:
Index: trap.c
===================================================================
RCS file: /usr/cvs/src/sys/alpha/alpha/trap.c,v
retrieving revision 1.73
diff -u -r1.73 trap.c
--- trap.c 2001/08/10 22:53:25 1.73
+++ trap.c 2001/08/16 04:29:40
@@ -611,14 +611,15 @@
framep->tf_regs[FRAME_TRAPARG_A0] = a0;
framep->tf_regs[FRAME_TRAPARG_A1] = a1;
framep->tf_regs[FRAME_TRAPARG_A2] = a2;
+ mtx_lock(&Giant);
trapsignal(p, i, ucode);
out:
if (user) {
framep->tf_regs[FRAME_SP] = alpha_pal_rdusp();
userret(p, framep, sticks);
- if (mtx_owned(&Giant))
- mtx_unlock(&Giant);
}
+ if (mtx_owned(&Giant))
+ mtx_unlock(&Giant);
return;
dopanic:
--
John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message