plan9fox/sys
cinap_lenrek 5ab9f9c621 nusb/usbd: serialize /dev/usbevent processing
when there are multiple readers of /dev/usbevent, we have to
serialize the processing to make sure that only one driver
is opening the devices control endpoint at a time.

to do this, we assume the device is busy after reading the
event file until the next read or clunk on the same fid.

to mark a device busy, we set the dev->aux pointer to the
fid processing a event. And the Event structure takes a
reference to the device producing the event.

the problem arised from cdc ethernet and nusb/serial sharing
the same device class, and we need to run the particular driver
to figure out if the device can be used. doing this concurrently
fails because devusb allows only one open per endpoint.
2014-06-03 07:21:48 +02:00
..
doc
games/lib fortunes: 14:37 -!- kfx was kicked from #suckless by __20h__ [kfx] 2014-05-16 16:31:41 -04:00
include thread.h: varargck argpos for threadsetname 2014-05-03 12:09:53 +02:00
lib add _nsec() syscall 53 for binary compatibility with labs distribution 2014-05-20 05:06:31 +02:00
man we look for strings.c, it is broken, this strings.c will make us go. 2014-05-30 04:05:18 +02:00
src nusb/usbd: serialize /dev/usbevent processing 2014-06-03 07:21:48 +02:00