]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/kern/kern_lock.c
xnu-517.9.5.tar.gz
[apple/xnu.git] / bsd / kern / kern_lock.c
index 117407d6db5d4d1c80f97cd64b0f8d2a64c9c2cb..898924500ecc63b2fc7b1b39575bd43c30003bc4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2001 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -189,7 +189,7 @@ lockmgr(lkp, flags, interlkp, p)
        int extflags;
        void *self;
 
-       error = 0; self = current_thread();
+       error = 0; self = current_act();
        if (p)
                pid = p->p_pid;
        else
@@ -384,9 +384,11 @@ lockmgr(lkp, flags, interlkp, p)
                if (lkp->lk_exclusivecount != 0) {
                        if (pid != lkp->lk_lockholder ||
                                        lkp->lk_lockthread != self)
-                               panic("lockmgr: pid %d, not %s %d unlocking",
-                                   pid, "exclusive lock holder",
-                                   lkp->lk_lockholder);
+                               panic("lockmgr: pid %d, thread 0x%8x,"
+                                       " not exclusive lock holder pid %d"
+                                       " thread 0x%8x unlocking, exclusive count %d",
+                                   pid, self, lkp->lk_lockholder,
+                                       lkp->lk_lockthread, lkp->lk_exclusivecount);
                        lkp->lk_exclusivecount--;
                        COUNT(p, -1);
                        if (lkp->lk_exclusivecount == 0) {