Re: pty tcdrain() bug in 2.6.27 to 2.6.30/current

From: Luke-Jr
Date: Wed Jun 10 2009 - 02:54:01 EST


On Wednesday 10 June 2009 01:39:14 am Mike Galbraith wrote:
> On Tue, 2009-06-09 at 23:38 -0500, Luke-Jr wrote:
> > tcdrain blocks on ptys since 2.6.27; at least 2.6.26 returns in a timely
> > manner. The following test case reproduces the bug, and hangs only on
> > affected kernels. Examination of 2.6.26 and 2.6.27 suggests the ioctl
> > used by tcdrain underwent a rewrite for 2.6.27, and thus fixing this bug
> > is beyond my capabilities at this time.
>
> It looks to me like it's doing what it should do, and any bug would be
> in kernels before the break handling (by Alan Cox, CC'd) rework.
>
> Disclaimer: My knowledge wrt tty IO approaches 0, but since I burned a
> bit of time rummaging, you get one absolutely free reply.

My knowledge on how it *should* work also approaches 0, but I am unfortunately
faced with a proprietary (user-space) blob GPS driver (which never reads its
NMEA-providing pty) that relies on this behaviour (or gpsd not doing the
tcdrain). However, the manual page for tcdrain says it waits until data is
*trasmitted*, not necessarily received... Not sure if that makes a difference
for this scenario?

Luke
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/