I have a datas server which allows its clients to register to some
datas. That permit to advise the clients if their concerned values are
Registration is done via a command sent to its resmgr. Upon this
request, the datas server store the rcvid and the sigevent structure.
I was making some tests with a client and I noted that the client
received several pulses when its datas were modified.
In fact, everytime I interrupt and restart the program, it register to
the datas server, given to it a sigevent structure the SAME coid.
After all, why not as this coid is returned back to the OS, it’s available.
The big problem is that the datas server scan its list of process to
advise on data modification and MsgDeliverEvent() to all concerned
So, if I slay and restart my client 10 times, I receive 10 pulses on my
If it’s understandable for the coid, it sounds to me not so good about
the rcvid passed to MsgDeliverEvent.
As a rcvid identify a process with its pid, nid,…, if I slay a process
the rcvid becomes unavailable even if I restart it as it will get a
So, what the rcvid is for in MsgDeliverEvent ?
I saw there is some possibilities in ChannelCreate() to solve this
problem but as I use a resmgr, declared with resmgr_attach(), I haven’t
access to _NTO_CHF_COID_DISCONNECT or _NTO_CHF_THREAD_DEATH. What to do?