Using poll() would be better than select() here, as select() not only has a limit on the number of fds that can be polled, but cannot even deal with a single fd whose number is above the same limit, which could happen if many files are already open by that process. That limit is as low as 1024, and needs patching and recompiling both the kernel and libc on Linux IIRC. We already went through a round of converting all Wine source from select() to poll().
udev is also Linux-only - the *BSDs are left out in the cold.
Nice work otherwise, I expected it to take you much longer.
Damjan
On Mon, Jan 4, 2016 at 7:36 PM, Aric Stewart aric@codeweavers.com wrote:
Signed-off-by: Aric Stewart aric@codeweavers.com
programs/plugplay/Makefile.in | 1 + programs/plugplay/bus_hidraw.c | 264 +++++++++++++++++++++++++++++++++++++++++ programs/plugplay/main.c | 3 + programs/plugplay/pnp.h | 1 + 4 files changed, 269 insertions(+) create mode 100644 programs/plugplay/bus_hidraw.c