On Thu, May 20, 1999 at 07:23:49PM +0200, Jean-Marc Zucconi wrote:
>>>>>> David Dawes writes:
>
> > IMHO the problem is in the joystick driver and in your assumptions.  By
> > configuring the joystick in your Xserver config file, you're giving the
> > server exclusive use of the device for the lifetime of the X server
> > process.  Implementing more agressive closing might solve your particular
> > problem, but it doesn't deal with the real problem of the joystick driver
> > causing the silo overflows.
>
>All interrupts are blocked when you read the joystick position, and
>this is the reason of the silo overflows. It is almost impossible to
>avoid (it could be possible to use a very high frequency timer and to
>check the joystick status during the interrupts, but this has an
>impact on the precision of the position).
>
>However keeping the device opened can't cause silo overflows. It
>seems rather than the X server continues to read the joystick
>position after the client stops using it. This can be considered as a
>bug in the X server.

That's implicit in the device remaining open.  In the context of the X
server's input device handling, "Open" means make active, and "Close"
means make inactive.  For most devices, the fd is added to the list of
fds to select() on.  For the joystick device, a timer callback is
installed to check the device at regular intervals.  This is never
disabled once it has been started.

If someone has a fix for this, please submit it to pa...@xfree86.org
and it can be included in our next 3.3.x release.  I'll keep this issue
in mind while working on the input device code for XFree86 4.0.

David


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to