[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference noted::hackers_v1

Title:-={ H A C K E R S }=-
Notice:Write locked - see NOTED::HACKERS
Moderator:DIEHRD::MORRIS
Created:Thu Feb 20 1986
Last Modified:Mon Aug 03 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:680
Total number of notes:5456

589.0. "AST and CHF revisited" by WJG::GUINEAU (W. John Guineau) Fri Oct 23 1987 10:08



If an AST declares a Condition handler, and then goes a few subroutines deep,
and the subroutine signals a condition, the CHF will unwind back to
the original routine which declared the handler (the AST entry routine),
right?

What if the AST does NOT declare a handler and a subroutine signals?
Where does the CHF end up? Does it affect user mode code?

JOhn
T.RTitleUserPersonal
Name
DateLines
589.1Signal goes right on through to mainlineSMAUG::GARRODReagan's brain was diverted to the contrasFri Oct 23 1987 17:4220
    The condition will continue looking higher up the stack until it
    finds a routine with a condition handler. Thus if your stack as
    in DEBUG SHOW CALLS looks.
    
    MAIN
    A
    B
    that blank line
    CC
    DD
    
    where MAIN, A, B are routines running at mainline and routine CC
    is an AST that called routine DD. If DD signals and no condition
    handler has been declared by CC but has been declared by B then
    the condition will be caught by B's condition handler. If that then
    does an UNWIND you'll end up at the instruction in A immediately
    following the call to B. VMS takes care of taking you out of the
    AST and back to mainline.
    
    Dave
589.2I think I got it nowWJG::GUINEAUW. John GuineauTue Oct 27 1987 07:559



So *wherever* the mainline is when an AST gets delivered, if the AST signals
and unwinds, the mainline will be unwound to the first handler (assuming
the AST has not enabled a handler)?