David L wrote:
[snip]
>> I'll have to examine this in much greater detail in order to consider
>> patching that part of the X server, and that might happen soon, or
>> it might not happen.
>
> Maybe we should bring this discussion back to the mailing list.?
> It seems like this problem is a less severe form of the problem I
> was having before... data can be waiting in the kernel serial port
> buffer and X isn't doing anything about it.

Sure, posting back to list.

Here is a summery of the bug:
    Sometimes an input module (touchscreen for example) doesn't recieve
a complete packet from the serial link, normaly; after the ReadInput
function and event enqueueing return, the device controler had time to
write the rest of the partial packet, thus triggering an interrupt and
generating a SIGIO (which /should/ be masked while we are processing
data as a result of SIGIO), so after, when we unmask the SIGIO it should
be triggered; resulting in the rest of the partial packet to be processed.

Sometimes the rest of a partial packet is ignored untill the next
packet is written by the device controller.

Personaly,
    I currently have no time to look into this, (although I would
be happy to, if that time presents itself, it definitly wont be
over the next two weeks). Sooooo, if anyone does have the time...
or if anyone has a better idea of what should be done... help
is always appriciated ;-)

>>
>>     The hack we implemented here, is to block in xf86EloGetPacket();
>
> I don't see any blocking in xf86EloGetPacket.?  There's a call to
> select with a 0 timeout and a call to read, but I thought the port
> was opened non-blocking.?
>
> Since VMIN is set to 10, why do we read fewer bytes sometimes?

Sorry,
     by "here"; I meant at touchtunes ;-) In xf86EloGetPacket we
added:

do {
  /* Contents of xf86EloGetPacket
   */
} while (we dont have a complete packet);

Note for list purposes:
    This hack is not IMO a suitable fix because it implies that an
input module is allowed to cause the server to hang.

Cheers all,
                                   -Tristan


_______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel

Reply via email to