diff options
author | nr123932 <none@none> | 2007-03-30 01:55:41 -0700 |
---|---|---|
committer | nr123932 <none@none> | 2007-03-30 01:55:41 -0700 |
commit | 8548bf79039833dba8615afdf63258b2cb122121 (patch) | |
tree | c9d7f506296f12858a99b42d94bda969bb1a4ebc /usr/src/uts/intel/fs | |
parent | 3a62633b4e364efc25704bee4e40b1107709521e (diff) | |
download | illumos-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.c | 12 |
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; } /* |