From owner-freebsd-bugs Mon Mar 20 10:40: 8 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id F1A0C37B536 for ; Mon, 20 Mar 2000 10:40:01 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id KAA71102; Mon, 20 Mar 2000 10:40:02 -0800 (PST) (envelope-from gnats@FreeBSD.org) Date: Mon, 20 Mar 2000 10:40:02 -0800 (PST) Message-Id: <200003201840.KAA71102@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Alfred Perlstein Subject: Re: kern/8324 Reply-To: Alfred Perlstein Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The following reply was made to PR kern/8324; it has been noted by GNATS. From: Alfred Perlstein To: Archie Cobbs Cc: freebsd-current@freebsd.org Subject: Re: kern/8324 Date: Fri, 17 Mar 2000 18:27:56 -0800 * Archie Cobbs [000317 17:55] wrote: > This bug has been around since at least 2.2.6 and is still present > in RELENG_3, RELENG_4, and -current. > > http://www.freebsd.org/cgi/query-pr.cgi?pr=8324 > > Is anyone planning to tackle it? What would be required to fix it? > (it's not clear (to me anyway) from Bruce's description how hard > this is to fix..) I think Bruce sort of went off into a tangent with his diagnosis, anyhow this is untested (of course :) ), but looks like the right thing to do (from sys_pipe.c). Perhaps the fcntls and ioctls aren't being propogated enough to set the flags properly, but if they are then it should work sort of the way SIGIO does, basically generating a signal for /some condition/ on a descriptor. -- -Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org] Index: tty_pty.c =================================================================== RCS file: /home/ncvs/src/sys/kern/tty_pty.c,v retrieving revision 1.74 diff -u -u -r1.74 tty_pty.c --- tty_pty.c 2000/02/09 03:32:11 1.74 +++ tty_pty.c 2000/03/18 06:12:55 @@ -337,6 +337,8 @@ selwakeup(&pti->pt_selw); wakeup(TSA_PTC_WRITE(tp)); } + if ((tp->t_state & TS_ASYNC) && tp->t_sigio) + pgsigio(tp->t_sigio, SIGIO, 0); } static int To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message