shutdown not working with uart console

Harald Schmalzbauer h.schmalzbauer at omnilan.de
Sat Oct 10 20:14:37 UTC 2009


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
> @@ -340,10 +340,10 @@ 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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 196 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20091010/7a1dde31/signature.pgp


More information about the freebsd-current mailing list