events vanish right after "Restart device"

A simple client subscribing to TangoTest CHANGE events is attached. As soon as I "Restart device" from Jive, the client stops receiving any other event thereafter for some time.

If the device server is instead killed and a certain amount of time elapses before restart, the client appears to reconnect promptly.

Steps to reproduce:

launch the client and receive the first event. SwitchState on the TangoTest so that it turns to FAULT. From Jive, Restart device. The device restarts into RUNNING state, but the client will never notice. Later, SwitchStates causes the client to wake up again. Without hitting SwitchState after restart, the state is never updated on the client.

The same experiment can be carried out with the double_scalar attribute in order to "measure" the time while events are not delivered: the timestamps show that silence lasts more than three minutes, all variations of double_scalar in between being lost:

EventCallBack::push_event():
  attribute = tango://srv-tango-ctrl-01.elettra.trieste.it:20000/test/device/1/double_scalar
  event = change
  err = 0
  value = Wed Jan 26 15:54:59 2022 (1643208899,124218 sec) : double_scalar (dim_x = 1, dim_y = 0, w_dim_x = 1, w_dim_y = 0, Data quality factor = WARNING, Data format = SCALAR, Data type = DevDouble)
Element number [0] = 100.028
Element number [1] = 0

EventCallBack::push_event():
  attribute = tango://srv-tango-ctrl-01.elettra.trieste.it:20000/test/device/1/double_scalar
  event = change
  err = 0
  value = Wed Jan 26 15:58:13 2022 (1643209093,308450 sec) : double_scalar (dim_x = 1, dim_y = 0, w_dim_x = 1, w_dim_y = 0, Data quality factor = ALARM, Data format = SCALAR, Data type = DevDouble)
Element number [0] = -244.814
Element number [1] = 0

From the following build command line you can see the involved versions of the libraries. The same happens when the client is built with cppTango from gitlab, zeromq-4.3.4 and omniorb-4.3.0 (not the most up to date cppTango version though):

g++ -I/usr/local/zeromq-4.3.4/include -I/usr/local/tango-9.3.4/include/tango -I/usr/local/omniorb-4.2.3/incde tango_listen.cpp -L/usr/local/tango-9.3.4/lib -L /usr/local/omniorb-4.2.3/lib  -ltango  -lCOS4 -lomniORB4 -lomniDynamic4 -lomnithread -L. -lzmq -o tango_listen -I/usr/local/zeromq-4.0.8/include -L/usr/local/zeromq-4.0.8/lib

tango_listen