If process “A” (which runs continuously) must periodically signal process
“B” (which is to be receive-blocked unless signalled by process"A") using a
proxy,
-
Which process creates the proxy (qnx_proxy_attach)?
-
Which process owns the proxy? (Seems like “B” should, since it is the
process to be signalled by it)
-
If one process creates the proxy, how does the other recognize/declare
it?
The example in documentation for qnx_proxy_attach( ) uses two processes, one
spawned from another. My application uses two completely independent and
different processes.
What didn’t work:
-
Process “B” Create and own proxy [ proxyname=qnx_proxy_attach(0,0,0,-1)],
process “A” declare proxy [pid_t proxyname] and trigger proxy
[Trigger(proxyname)]
-
Same as above, but both processes create proxy under same name.
Perhaps process “A” create proxy, naming “B” the owner after identifying
process “B” pid through qnx_name_locate(), process “B” registering name
using qnx_name_attach( ), and process “B” initializing the proxy (pid_t
proxyname).
“John Nicholson” <jcnichol@earthlink.net> wrote in message
news:c0ka9d$hhq$1@inn.qnx.com…
If process “A” (which runs continuously) must periodically signal process
“B” (which is to be receive-blocked unless signalled by process"A") using
a
proxy,
- Which process creates the proxy (qnx_proxy_attach)?
B
- Which process owns the proxy? (Seems like “B” should, since it is the
process to be signalled by it)
B
- If one process creates the proxy, how does the other recognize/declare
it?
You have to somehow (messages, file, sharememory) give to process A
the proxy ID as returned by qnx_proxy_attach in process B.
The example in documentation for qnx_proxy_attach( ) uses two processes,
one
spawned from another. My application uses two completely independent and
different processes.
What didn’t work:
- Process “B” Create and own proxy [
proxyname=qnx_proxy_attach(0,0,0,-1)],
process “A” declare proxy [pid_t proxyname] and trigger proxy
[Trigger(proxyname)]
Just to be clear, proxyname is not a “name” but rather an id number. This
should work assuming the variable proxyname in process A is the same as
proxyname in process B. Now if the two processes are on different nodes some
more step are required but I won’t get into that for now 
- Same as above, but both processes create proxy under same name.
Sorry but I get confuse every time you use the word “name” 
Perhaps process “A” create proxy, naming “B” the owner after identifying
process “B” pid through qnx_name_locate(), process “B” registering name
using qnx_name_attach( ), and process “B” initializing the proxy (pid_t
proxyname).
\
Mario Charest postmaster@127.0.0.1 wrote:
MC > “John Nicholson” <jcnichol@earthlink.net> wrote in message
MC > news:c0ka9d$hhq$1@inn.qnx.com…
If process “A” (which runs continuously) must periodically signal process
“B” (which is to be receive-blocked unless signalled by process"A") using
MC > a
proxy,
- Which process creates the proxy (qnx_proxy_attach)?
MC > B
This is a terminology issue. What you are talking about is process A
“Triggering” process B.
There is no proxy involved when you use UNIX signals.