tango-controls / jive

Jive is a standalone JAVA application designed to browse and edit the static TANGO database. jive moved to https://gitlab.com/tango-controls/jive
10 stars 6 forks source link

Status refresh continues after killing of ATKPAnel #17

Closed tango-controls-bot closed 7 years ago

tango-controls-bot commented 20 years ago

Versions used

- atkpanel-1.9.jar - Jive version 2.2f - ATKCore-1.6.1.jar; - ATKWidget-1.6.1.jar;

Bug description

- I start ATKPanel from jive (Using the Monitor Device menu).

- ATKPanel opens and shows my device. That's OK

- I close the ATKPanel window with the File -> Quit menu

- My Device is still polled :

==> I must exit from jive to force the ATK polling mechanism to stop

I posted the bug on ATK bug list but I may be a jive ou ATK Panel problem.

Reported by: buteau ( http://sf.net/u/buteau )

Original Ticket: "tango-cs/bugs/43":https://sourceforge.net/p/tango-cs/bugs/43

tango-controls-bot commented 18 years ago

Logged In: YES user_id=692791

Jive must instantiate the atkpanel class with a boolean argument which informs atkpanel that atkpanel is not standalone. The default behaviour of atkpanel in "non standalone" mode is to keep the state and status refresher "unique" thread when it ends. But Jive can still specify through another (additional) boolean argument to atkpanel constructor that atkpanel should NOT keep the status refresher thread. In this case the refersher thread will be stopped when atkpanel quits.

I think it's the case today so the problem should be solved already.

Faranguiss

Original comment by: poncet (http://sourceforge.net/u/poncet)

tango-controls-bot commented 18 years ago

Original comment by: poncet (http://sourceforge.net/u/poncet)

tango-controls-bot commented 18 years ago

Logged In: YES user_id=1200893

<<The default behaviour of atkpanel in "non standalone" mode is to keep the state and status refresher "unique" thread when it ends.>>

Is there a real need of this default behaviour ?

Original comment by: vince_soleil (http://sourceforge.net/u/vince_soleil)

tango-controls-bot commented 18 years ago

Original comment by: buteau (http://sourceforge.net/u/buteau)

tango-controls-bot commented 18 years ago

Logged In: YES user_id=764973

I don't think jive as been modified to take into account Faranguiss remarks about the way of starting ATKPanel.

Jean Luc could you tell me , if the suggested modification may be done in jive code ?

I think that the current behaviour is strange and incorrect from the user point of view as a device continues to be polled even after ATKPanel has been closed .

Original comment by: buteau (http://sourceforge.net/u/buteau)

tango-controls-bot commented 18 years ago

Logged In: YES user_id=692791

Here is the answer to vince_soleil's comment on 2005-11-18 11:45 (sorry for the delay).

YES there is a reason that the atkpanel non standalone default behaviour is to keep the state and status referesher.

As we have mentioned the state/status refersher is a unique thread for the whole java machine. Jive is not the only application which instantiate atkpanel. In fact, we instantiate atkpanel from for example another control application based on synoptic when a part of the synoptic is clicked. In this case if the default behaviour is to stop state / status refresher when atkpanel leaves, once one instance of atkpanel is started and stop from the application (JLinac at ESRF), then NO device state / status is updated anymore in the other parts of the application.

SO because jive is a particular case of the use of atkpanel it is up to jive to start atkpanel with the specific boolean parmeters to obtain this specific behaviour.

Faranguiss

Original comment by: poncet (http://sourceforge.net/u/poncet)

tango-controls-bot commented 17 years ago

Logged In: YES user_id=693666 Originator: NO

I checked this with Jive 3.11 and ATKPanel 3.1 and the behavior is correct. If you stop ATKPanel the polling is also stopped. Jive launches ATKPanel using the folowing line : new atkpanel.MainPanel(args[0], false, true, !JiveUtils.readOnly); The first boolean is for non standalone ATKPanel. The second one is to keep the state refresher ON, however when ATKPanel exits, it unregisters all its stateListener and stops to poll the device. If the problem persists, please reopen this entry.

Original comment by: JeanLucPons (http://sourceforge.net/u/jlpons)

tango-controls-bot commented 17 years ago

Original comment by: JeanLucPons (http://sourceforge.net/u/jlpons)