On Thu, Nov 07, 2002 at 01:43:28PM -0500, Roland McGrath wrote: > > Writing of the bytes doesn't seem to work properly, I set up streamio > > (cat'ing from that works fine), and then I tried > > > > echo $'\xED\x07' > kbd > > The examples/x86/i8042 test program does just that, and it works (lights go > on). So this must be a problem interacting with oskit-mach.
Ok, it works just after boot. But then reading doesn't work. The reason is a reference leak somewhere in the glue code. There are three additional references to the device in whatever open mode you used the first time when looking it up. Subsequent opens will try the cache lookup first, but if it's not the same open mode, it won't succeed. Then it tries to reopen it with the new open modes, but this fails of course, because kbd/aux can only be opened once. it won't be a problem in my console, as I am opening it once with read/write permission. But of course it needs to be fixed. I don't know where the three references come from. They are not increased by subsequent open/close, so they might come from the code that creates and enters the device, not sure. I would need to do more debugging if it isn't something obvious to you. Thanks, Marcus -- `Rhubarb is no Egyptian god.' GNU http://www.gnu.org [EMAIL PROTECTED] Marcus Brinkmann The Hurd http://www.gnu.org/software/hurd/ [EMAIL PROTECTED] http://www.marcus-brinkmann.de/ _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd