I have implemented an IO manager that creates a character device
in /dev. Open, Close, Read, and Write, are currently implemented and
working. I now need Select. The only hint I have is from Rob Krten’s
book “Getting Started with QNX4”, that sayes:
… There are _SEL_POLL and _SEL_ARM phases.
The _SEL_POLL polls for conditions to satisfy the select(); then
the _SEL_ARM sets up notification for when those conditions have
been met. Later, another _SEL_POLL is issued to see what happened
after the notification.
The first IO_SELECT message contains:
mode=_SEL_ARM proxy=31877 proxy_spare=0 nfds=1
set[0].flag=0x1 set[0].fd=3
Can anyone give me more hints on how to implement select
in an IO manager?
Ping
Ray Hausman wrote:
I have implemented an IO manager that creates a character device
in /dev. Open, Close, Read, and Write, are currently implemented and
working. I now need Select. The only hint I have is from Rob Krten’s
book “Getting Started with QNX4”, that sayes:
… There are _SEL_POLL and _SEL_ARM phases.
The _SEL_POLL polls for conditions to satisfy the select(); then
the _SEL_ARM sets up notification for when those conditions have
been met. Later, another _SEL_POLL is issued to see what happened
after the notification.
The first IO_SELECT message contains:
mode=_SEL_ARM proxy=31877 proxy_spare=0 nfds=1
set[0].flag=0x1 set[0].fd=3
Can anyone give me more hints on how to implement select
in an IO manager?
The Alsa driver is a good example. It is under /usr/free/…