Am Dienstag, 27. August 2013, 22:00:59 schrieben Sie:
Wolfgang Walter wine@stwm.de wrote:
Wolfgang Walter wine@stwm.de wrote:
I made similar changes so that several applications we use work. I tested your patches, all but one do work. I don't know why one does not, though.
What patch doesn't work for you?
I tested all your patches together (indivually they will not really work here).
Yeah, the patches need to be tested after applying all of them. They were broken into smaller parts in order to make regression test easier in case of a regression. If I don't know what doesn't work I can't make any improvement.
Yes, that's clear. I'll have a closer look what's the main difference. The problematic application uses asynchronous IO.
I wrote my patch 2009 (and earlier version 2008) so I have to rethink about it. I remember that TX_TXEMPTY detection was a problem, then. It could get lost.
The reason I moved the output buffer empty detection from get_irq_info() into check_events() was simply because I thought handling input queue in check_events() but ouput queue in get_irq_info() seems odd.
I also think that it's better to detect that get_irq_info() basicly does not work with drivers not supporting TIOCGICOUNT and it is good to have that information in the callers of get_irq_info(). So I return STATUS_NOT_IMPLEMENTED and handle the situation in the caller. And then it is better to move empty sending queue handling out of get_irq_info().
I handle the TIOCSERGETLSR wrong, as I see now (I should & with TIOCSER_TEMT).
Regards,