From owner-freebsd-hackers Thu Dec 17 11:47:01 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA07257 for freebsd-hackers-outgoing; Thu, 17 Dec 1998 11:47:01 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from bright.fx.genx.net (bright.fx.genx.net [206.64.4.154]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id LAA07247 for ; Thu, 17 Dec 1998 11:46:58 -0800 (PST) (envelope-from bright@hotjobs.com) Received: from localhost (bright@localhost) by bright.fx.genx.net (8.9.1/8.9.1) with ESMTP id OAA03546; Thu, 17 Dec 1998 14:49:58 -0500 (EST) (envelope-from bright@hotjobs.com) X-Authentication-Warning: bright.fx.genx.net: bright owned process doing -bs Date: Thu, 17 Dec 1998 14:49:54 -0500 (EST) From: Alfred Perlstein X-Sender: bright@bright.fx.genx.net To: "David G. Andersen" cc: hackers@FreeBSD.ORG Subject: Re: kern/8732: nfs mounts with 'intr' can cause system hang In-Reply-To: <13945.22202.436751.59097@torrey.cs.utah.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Thu, 17 Dec 1998, David G. Andersen wrote: > > I've submitted a patch to vfs_subr.c which causes the kernel to return > EINTR on an interrupted close(). It's behaving properly on our > systems, but I'd love it if other interested parties (Karl, Alfred, > Andrew?) would give it a run before I say "look, it works." > > -dave does this signal the process? or just abort the flush with EINTR? i'm going to try it anyway, i don't run binaries off NFS so this ought to work for me for now. Alfred Perlstein - Programmer, HotJobs Inc. - www.hotjobs.com -- There are operating systems, and then there's FreeBSD. -- http://www.freebsd.org/ 3.0-current > > Index: vfs_subr.c > =================================================================== > RCS file: /n/marker/usr/lsrc/FreeBSD/CVS/src/sys/kern/vfs_subr.c,v > retrieving revision 1.174 > diff -r1.174 vfs_subr.c > 582,584c582,589 > < tsleep((caddr_t)&vp->v_numoutput, > < slpflag | (PRIBIO + 1), > < "vinvlbuf", slptimeo); > --- > > if (error = tsleep((caddr_t)&vp->v_numoutput, > > slpflag | (PRIBIO + 1), > > "vinvlbuf", slptimeo)) { > > if (error == EINTR) { > > splx(s); > > return (EINTR); > > } > > } > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message