[Info-vax] completion status from LIB$SPAWN

StGallen sengupta.suhas at gmail.com
Thu Apr 26 08:13:07 EDT 2012


All,

I am having problem getting the completion status from LIB$SPAWN. DEC BASIC 1.4.

I have prepared the below test program. SPAWN_STATUS returns a SUCCESS after 1st call to LIB$SPAWN. The 2nd calls returns 268435457 for SPAWN_STATUS. Will someone help me understand why this might be the case? 

Thank you

00001
        EXTERNAL LONG FUNCTION LIB$SPAWN
	
        EXTERNAL LONG CONSTANT   SS$_NORMAL
        .
        .
        .

        DECLARE LONG   SYS_STATUS
        DECLARE LONG   SPAWN_STATUS
        DECLARE LONG   lPID
        DECLARE STRING SUBMIT.BATCH$

        SUBMIT.BATCH$="WAIT 00:00:10"
        SYS_STATUS=LIB$SPAWN(SUBMIT.BATCH$,,,CLI$M_TRUSTED,,lPID,SPAWN_STATUS,,,,,,)
        PRINT "SPAWN Status is: ";SPAWN_STATUS
        GOSUB CHK_STAT
        
        SUBMIT.BATCH$="PURGE/NOLOG zx.mn"
        SYS_STATUS=LIB$SPAWN(SUBMIT.BATCH$,,,CLI$M_TRUSTED,,lPID,SPAWN_STATUS,,,,,,)
        PRINT "SPAWN Status is: ";SPAWN_STATUS !returns 268435457 
        GOSUB CHK_STAT
        
        GOTO 32767

CHK_STAT:        
        IF (SYS_STATUS AND SS$_NORMAL)<>1% THEN
           PRINT ""
           PRINT ""
           PRINT ":: ERROR ::"
           PRINT "...SYSTEM ERROR ";SYS_STATUS;" FAILED TO INITIATE PROCEDURE"
           PRINT ""
           PRINT ""
           SLEEP 5%
        END IF
        IF (SPAWN_STATUS AND SS$_NORMAL)<>1% 
          THEN
               PRINT   ""
               PRINT   ""
               PRINT   ":: ERROR ::"
               PRINT   "...SYSTEM ERROR ";SPAWN_STATUS;              &
                       " FAILED TO EXECUTE PROCEDURE."
               PRINT   ""
               PRINT   ""
              SLEEP 5%
        END IF
        
 	select SYS_STATUS
 	  case SS$_NORMAL 
 	     print "Routine successfully completed."
 	  case SS$_ACCVIO 
 	     print "Access violation. One of the string arguments to LIB$SPAWN could not be read"
 	  case SS$_DUPLNAM 
 	     print "Duplicate process name. "
 	  case LIB$_INVARG 
 	     print "Invalid argument."
 	  case LIB$_INVSTRDES 
 	     print "Invalid string descriptor."
 	  case LIB$_NOCLI
 	     print "No CLI present to perform function"
 	  case else
 	     print "other fac$_xxx erors"     
 	end select
RETURN 	
32767 END



More information about the Info-vax mailing list