Here is a question for the masses. I am calling a PC routine from C++. The
C++ and assembly code snippets are at the end.

My question is this: When the address space that contains the XMS routine
goes down, my client app crashes with a S0D6(rsn 22). All fine and dandy,
but I want this to not happen. I was hoping the try/catch block would catch
it, but it doesn't. Does anyone know what recovery routine options I have to
trap this and recover? What I want to do is wait for the XMS address space
to come back, then continue.

Thanks!

David Logan

The C++ code is:
     try                                              
     {                                                
       rc=CallPC(data.lx_value,                       
                 1, handle, block_number, dest_buffer,
                 data.data, workarea, &ecb, ascb);    
     } catch(...)                                     
     {                                                
       printf("DANGER!\n");                           
       rc = 0;                                        
     };                                               
                                           

The assembler code that is executed when CallPC is executed is:
CALLPCR  CSECT                                                
CALLPCR  AMODE 31                                             
CALLPCR  RMODE ANY                                            
         EDCPRLG                                              
         L     14,0(,1)                                       
         L     14,0(,14)           LXVALUE IN R1 (PC VALUE)   
         LA    1,4(,1)             POINT PARMLIST PAST LXVALUE
         PC    0(14)                                          
         EDCEPIL                                              

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to