In QNX 4, we replace the low level select_receive() function with our own to
allow us to receive QNX native messages during select() calls (this was
burried in a “Com” reactor, so the application was unaware of this fact).
We are now porting this application to QNX 6 and would like to do the same
without going to multiple threads (at least for the short term). Is this
even possible with the new “channel” architecture of QNX 6?
“Richard Doucet” <doucetr@aecl.ca> wrote in message
news:camn0b$sr$1@inn.qnx.com…
In QNX 4, we replace the low level select_receive() function with our own
to
allow us to receive QNX native messages during select() calls (this was
burried in a “Com” reactor, so the application was unaware of this fact).
We are now porting this application to QNX 6 and would like to do the same
without going to multiple threads (at least for the short term). Is this
even possible with the new “channel” architecture of QNX 6?
If the other side is a resource manager you could support notification and
thus
be able to use select on the channel id.
Other then that I don’t see how it can be done without thread. Note that it
should
be fairly simple to encapsulate the feature in your own version of select.
Richard Doucet <doucetr@aecl.ca> wrote:
In QNX 4, we replace the low level select_receive() function with our own to
allow us to receive QNX native messages during select() calls (this was
burried in a “Com” reactor, so the application was unaware of this fact).
We are now porting this application to QNX 6 and would like to do the same
without going to multiple threads (at least for the short term). Is this
even possible with the new “channel” architecture of QNX 6?
Consider using a set of ionotify() requests, and a common MsgReceive()
blocking point. The structure won’t be quite the same, but it should
give you what you want – notification of ability to read/write on
fds and handling of message passing.
-David
Please follow-up to newsgroup, rather than personal email.
David Gibbs
QNX Training Services
dagibbs@qnx.com