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

From: Alan Cox
Date: Wed Jun 10 2009 - 05:50:36 EST


> 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.

I don't see a bug at this point

> slavefd = open(ptsname(masterfd), O_NOCTTY | O_RDWR);
> assert(slavefd != -1);
>
> assert(sizeof(test) == write(slavefd, test, sizeof(test)));

Queue data to the other end...

> assert(!tcdrain(slavefd));

Wait for it to be read, but with nothing reading it.

So it waits as it should.


What is the bug here ?

Alan
--
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/