Kbase P135782: Application making heavy use of PUBLISH/SUBSCRIBE to manage windows in UI hangs
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  08/10/2008 |
|
Status: Unverified
SYMPTOM(s):
Application makes heavy use of PUBLISH/SUBSCRIBE to manage windows
Main window loads child window persistently
Child window subscribes to several events
User clicks button on main window to bring up non-persistent child window
Non-persistent child window subscribes to several events related to shutting down the window
Non-persistent child window publishes event which is processed by the persistent child window
After a period of time, the persistent child window publishes close events that the non-persistent child window processes
The non-persistent child window is closed but can never be displayed again by clicking the button in the main window (application is logically hung)
FACT(s) (Environment):
OpenEdge 10.1x
Windows
CAUSE:
The CHOOSE event for the click of the button in the main window causes the non-persistent child window to run and in the main block of the child window before the WAIT-FOR statement a PUBLISH was being done which caused the CLOSE event to be applied to the procedure. This had the effect of running disable_UI which caused the window to be deleted but then the WAIT-FOR statement was executed and that is what caused the UI to be logically "hung".
FIX:
Run the windows persistently as is recommended