Date: Tue, 10 Jun 1997 21:29:13 -0700 (MST) From: Richard Straka <straka@user1.inficad.com> To: Bruce Evans <bde@zeta.org.au> Cc: current@freebsd.org Subject: Re: sio driver performance Message-ID: <Pine.BSI.3.96.970610212632.13653B-100000@user1.inficad.com> In-Reply-To: <199706070431.OAA28487@godzilla.zeta.org.au>
next in thread | previous in thread | raw e-mail | index | archive | help
> >I have noticed that the communications work great until I interrupt the > >process on the box which is tranmitting the data. At that point, the box > >which was receiving suddenly elevates to 100% CPU usage (mostly system) as > >if in a polling loop. When I attempt to reestablish the process which is > > Hangup on the tranmitter breaks the connection. There is no way (*) to > get the same connection back - reads on the open fd will return -1/EIO > forever. (Reads should return 0, but there is a minor bug that prevents > this in some cases. POSIX allows either EOF (0) or -1/EIO.) > > You need to clear HUPCL on the transmitter or set CLOCAL on the receiver > to avoid seeing the hangup. Using CLOCAL is often required to avoid > unwanted POSIX connection semantics. Then you have to monitor the carrier > status directly by polling it if you care about it. > > (*) actually there is a nonstandard way involving toggling CLOCAL. Don't > use it. > Setting CLOCAL on the receiver has worked like a charm. Thanks for the help and thanks to everyone else who responded to my question. Richard Straka straka@inficad.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSI.3.96.970610212632.13653B-100000>
