Using proxies between processes

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,

  1. Which process creates the proxy (qnx_proxy_attach)?

  2. Which process owns the proxy? (Seems like “B” should, since it is the
    process to be signalled by it)

  3. 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:

  1. 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)]

  2. 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,

  1. Which process creates the proxy (qnx_proxy_attach)?

B

  1. Which process owns the proxy? (Seems like “B” should, since it is the
    process to be signalled by it)

B

  1. 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:

  1. 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 :wink:

  1. Same as above, but both processes create proxy under same name.

Sorry but I get confuse every time you use the word “name” :wink:

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,

  1. 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.