O .-----------------------------------------------------------------------------. O | Copyright  1996 by Brian Schenkenberger.  ALL RIGHTS RESERVED.             | O |                                                                             | O | This software is provided "AS IS" and is supplied for informational purpose | O | only.  No warranty is expressed or implied and no liability can be accepted | O | for any actions or circumstances incurred from the use of this software or  | O | from the information contained herein.  The author makes no claim as to the | O | suitablility or fitness of the software or information contain herein for a | O | particular purpose.                                                         | O |                                                                             | O | Permission is hereby granted _ONLY_ for the "not-for-profit" redistribution | O | of this software provided that ALL SOURCE and/or OBJECT CODE remains intact | O | and ALL COPYRIGHT NOTICES remain intact from its original distribution.     | O |                                                                             | O |(!) NO TITLE TO AND/OR OWNERSHIP OF THIS SOFTWARE IS HEREBY TRANSFERRED. (!) | O `-----------------------------------------------------------------------------'     5 Package name:   GOTOUNWIND (System Service INTercept) F Description:    Two simple demos show the use of the new OpenVMS Alpha9 		SYS$GOTO_UNWIND system service.  This system service is 9 		a supported mechanism in OpenVMS Alpha for modification 8 		of the normal calling chain unwind sequence.  Its uses8 		are many including: exception handling and "roll-your-  		own" mulit-threading routines.$ Author's name:  Brian Schenkenberger     Package Overview:  ----------------E This package contains two demo routines utilizing the SYS$GOTO_UNWIND F system service.  These programs are intended to help better understandD this system service, as well as, some specifics of the OpenVMS Alpha calling standard.   G The first demonstration program uses the SYS$GOTO_UNWIND service within G a condition handler.  An exception is signalled via LIB$SIGNAL and then F the condition handler dismisses the exception and uses SYS$GOTO_UNWINDF to restart the program at a specific location within the main routine.G This package includes a MACRO which can be exploited in other routines.   G The second demonstration program also uses the SYS$GOTO_UNWIND service  F within a condition handler.  In this program, the condition handler isG used to return to the first instruction of the frame which incurred the 
 exception.   .END. 