On Thu, Aug 12, 2010 at 08:24:12PM -0700, Alan Coopersmith wrote:
> Peter Hutterer wrote:
> > On Wed, Aug 11, 2010 at 07:54:59PM -0700, Alan Coopersmith wrote:
> >> From: Aaron Zang <[email protected]>
> >>
> >> Fixes Solaris bug 6886424:
> >>  VT - keyboard and mouse do not work when switching to vt7
> >>  http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6886424
> >>
> >> Signed-off-by: Alan Coopersmith <[email protected]>
> >> ---
> >>  src/kbd.c |    8 ++++++++
> >>  1 files changed, 8 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/src/kbd.c b/src/kbd.c
> >> index 96409cf..991fe01 100644
> >> --- a/src/kbd.c
> >> +++ b/src/kbd.c
> >> @@ -464,6 +464,14 @@ KbdProc(DeviceIntPtr device, int what)
> >>        RemoveEnabledDevice(pInfo->fd);
> >>      pKbd->KbdOff(pInfo, what);
> >>      device->public.on = FALSE;
> >> +
> >> +    if (what == DEVICE_CLOSE) {
> >> +  xf86Msg(X_INFO, "%s: Close\n", pInfo->name);
> >> +  if (pInfo->fd != -1) {
> >> +      close(pInfo->fd);
> >> +      pInfo->fd = -1;
> >> +  }
> >> +    }
> >>      break;
> >>    }
> >>    return (Success);
> >> -- 
> >> 1.5.6.5
> > 
> > shouldn't this be DEVICE_OFF instead? DEVICE_CLOSE is called when the device
> > is removed, DEVICE_OFF when it is disabled (e.g. on VT switch).
> > Also, it looks like you could simply merge this into the DEVICE_OFF branch
> > and make DEVICE_CLOSE a noop.
> 
> On Solaris at least, the intent is to only close it on DEVICE_CLOSE, and just
> disable it on DEVICE_OFF, as that's the way our kernel VT interfaces expect us
> to handle it.   If that's not what other OS'es expect, then I can move this 
> into
> sun_kbd.c instead.

Well, it looks messy enough as it is. AFAICT, the fd is never closed on any
OS. and since keyboard is essentially obsolete on linux, I'm happy enough
with your intent.

Acked-by: Peter Hutterer <[email protected]>

Cheers,
  Peter
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to