you cannot determine who triggered the proxy
in your example you have to create 3 different proxies to find out which one was the source of timer expiration or regural proxy trigger
edit:
PS: in your example you use
qnx_proxy_attach( wait_pid, NULL, 0, -1 );
Trigger( wait_pid );
I believe this is wrong approach, usually you should do:
(However, if you are really trying to create a proxy which is targeted on another process then I cannot help you. I never tested the qnx_proxy_attach(other_pid, …) scenario, to me it just seemed quite useless in semantics of qnx4 messaging)
no, that code doesn’t work, it doesn’t make sense
unless you want to post actual code how the “threads/processes” are initialized, how proxies are created, how timers are created/armed and who triggers what…
there is not anything like qnx6 pulse in qnx4, as said before, i believe creating 3 different proxies is the only way
You can attach a value to a proxy under QNX4 however that value is assigned at creation time and cannot be changed. Hence as mezek suggest you must use more then one proxies.
Also a work of caution, threads under QNX4 can be very nasty.