summaryrefslogtreecommitdiff
path: root/usr/src/uts/intel/fs
diff options
context:
space:
mode:
authornr123932 <none@none>2007-03-30 01:55:41 -0700
committernr123932 <none@none>2007-03-30 01:55:41 -0700
commit8548bf79039833dba8615afdf63258b2cb122121 (patch)
treec9d7f506296f12858a99b42d94bda969bb1a4ebc /usr/src/uts/intel/fs
parent3a62633b4e364efc25704bee4e40b1107709521e (diff)
downloadillumos-joyent-8548bf79039833dba8615afdf63258b2cb122121.tar.gz
6368753 Need a patch solution to 4522909 automountd hangs with executeable maps
6509943 Apparent deadlock between fork()'s use of lwp_suspend and NFS locking (Backout 4522909)
Diffstat (limited to 'usr/src/uts/intel/fs')
-rw-r--r--usr/src/uts/intel/fs/proc/prmachdep.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/usr/src/uts/intel/fs/proc/prmachdep.c b/usr/src/uts/intel/fs/proc/prmachdep.c
index f9a9fc3247..caebfab916 100644
--- a/usr/src/uts/intel/fs/proc/prmachdep.c
+++ b/usr/src/uts/intel/fs/proc/prmachdep.c
@@ -433,11 +433,11 @@ prstop(int why, int what)
struct regs *r = lwptoregs(lwp);
/*
- * Make sure we don't deadlock on a recursive call to prstop().
- * stop() tests the lwp_nostop_r and lwp_nostop flags.
+ * Make sure we don't deadlock on a recursive call
+ * to prstop(). stop() tests the lwp_nostop flag.
*/
- lwp->lwp_nostop_r++;
- lwp->lwp_nostop++;
+ ASSERT(lwp->lwp_nostop == 0);
+ lwp->lwp_nostop = 1;
if (copyin_nowatch((caddr_t)r->r_pc, &lwp->lwp_pcb.pcb_instr,
sizeof (lwp->lwp_pcb.pcb_instr)) == 0)
@@ -448,8 +448,8 @@ prstop(int why, int what)
}
(void) save_syscall_args();
- lwp->lwp_nostop--;
- lwp->lwp_nostop_r--;
+ ASSERT(lwp->lwp_nostop == 1);
+ lwp->lwp_nostop = 0;
}
/*