Bug ? : Thread, join and push_change_event

Hello dear all,

I'm almost new to Tango and encountered what I think is a problem (but I could be wrong about that).
I searched online for a bit but couldn't find anything.
Here it is :

I wrote a very simple device server : a command to call join on a thread (named "pushThread") and one attribute.
The thread "pushThread" calls the "push_change_event" method on the attribute 20 times at 10 Hz.
When I call the "join" method from the main thread before the end of the "pushThread" thread, the "push_change_event" method throws an exception with the following details :
Origin : TangoMonitor::get_monitor
Desc : Not able to acquire serialization (dev, class or process) monitor
Reason : API_CommandTimedOut

I don't think it's a big problem, but the "push_change_event" method hangs for a few seconds before throwing the exception so it's a bit annoying.

Maybe this topic will interest someone ?

Best regards, Olivier Neveu
Hi Olivier,

Your issue is the same as the one reported (for pytango) in https://github.com/tango-controls/TangoTickets/issues/39
The behaviour you're seeing is currently expected.

In particular, the following comment in this issue applies to your use case too:
https://github.com/tango-controls/TangoTickets/issues/39#issuecomment-674157978

Kind regards,
Reynald
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
 
Register or login to create to post a reply.