Browse Prior Art Database

Emulator DosExit Processing for Reporting Errors

IP.com Disclosure Number: IPCOM000104877D
Original Publication Date: 1993-Jun-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 2 page(s) / 73K

Publishing Venue

IBM

Related People

Anderson, BJ: AUTHOR [+2]

Abstract

The 3270 emulator that is part of the OS/2* Communication Manager product contains a single process and many threads. As part of the normal emulator processing, there are occasions when a severe error occurs, and the emulator cannot continue. When this happens, the emulator logs an error in an error log file, and issues a DosExit in order to terminate the emulator process.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Emulator DosExit Processing for Reporting Errors

      The 3270 emulator that is part of the OS/2* Communication
Manager product contains a single process and many threads.  As part
of the normal emulator processing, there are occasions when a severe
error occurs, and the emulator cannot continue.  When this happens,
the emulator logs an error in an error log file, and issues a DosExit
in order to terminate the emulator process.

      When a process is terminated (either normally or abnormally),
the OS/2 operating system gives control to the calling application's
ExitList routine.  When the application's ExitList routine runs, it
normally cleans up resources (such as semaphores and shared segments,
for instance) and then returns control to OS/2.  When this happens,
any windows or dialogs associated with the terminated application are
removed from the screen by OS/2.

      In past releases of the OS/2 3270 emulator, when severe errors
caused the emulator to issue DosExit, the emulator's ExitList routine
simply cleaned up resources and then returned control to OS/2.  When
this happened, the emulator windows disappeared from the screen,
GIVING THE USER NO VISUAL CLUE AS TO WHAT HAPPENED TO THEM.  To the
user, this was very bad behavior.

      As a user interface enhancement, the emulator code is modified
to give the user a way of knowing what happened when DosExit occurs.
The emulator's ExitList routine, before returning control to OS/2,
now checks an 'ExitType' flag in its data area.  If the 'ExitType'
flag indicates an abnormal stop, then the emulator pops up an error
message on the screen, telling the user that the emulator is
terminating, and instructing the user to look in the error log for
more information.  By doing this, the user now knows what is
happening, and knows where to look for more information.

      The implementation of this enhancement was done by defining a
flag variable in the emulator's main .EXE file data segment.  This
main .EXE file con...