Re: shutdown not working with uart console

From: Harald Schmalzbauer <h.schmalzbauer_at_omnilan.de>
Date: Sat, 10 Oct 2009 22:14:28 +0200
Kostik Belousov schrieb am 10.10.2009 19:51 (localtime):
...
> I wondering whether I was too conservative in r195509.
> Please try this.
> 
> diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
> index 39b48e0..b96cdbf 100644
> --- a/sys/kern/kern_exit.c
> +++ b/sys/kern/kern_exit.c
> _at__at_ -340,10 +340,10 _at__at_ exit1(struct thread *td, int rv)
>  
>  		if (ttyvp != NULL) {
>  			sx_xunlock(&proctree_lock);
> -			vn_lock(ttyvp, LK_EXCLUSIVE | LK_RETRY);
> -			if (ttyvp->v_type != VBAD)
> +			if (vn_lock(ttyvp, LK_EXCLUSIVE) == 0) {
>  				VOP_REVOKE(ttyvp, REVOKEALL);
> -			VOP_UNLOCK(ttyvp, 0);
> +				VOP_UNLOCK(ttyvp, 0);
> +			}
>  			sx_xlock(&proctree_lock);
>  		}
>  	}

Great, thanks a lot, this fixes my problem :)

There's one LOR left at shutdown (vfs_mount+ffs_vfsops) and one at 
startup (unionfs+ufs) but that's completele unrelated I guess.

Thanks,

-Harry


Received on Sat Oct 10 2009 - 18:14:37 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:56 UTC