perm filename HSTKIL.FAI[HST,NET] blob
sn#824068 filedate 1986-09-03 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 HSTKIL HSTKI1 NAMERR CORERR ATTERR ATTPRO ATTMUL ATTNON ATTIMP ERRLST OLDNAM NEWNAM
C00005 ENDMK
C⊗;
;⊗ HSTKIL HSTKI1 NAMERR CORERR ATTERR ATTPRO ATTMUL ATTNON ATTIMP ERRLST OLDNAM NEWNAM
TITLE HSTKIL
A←1
B←2
;Program to kill the host table upper segment, to be used when we install
;a new host table. It changes the name of the segment from "HOSTS!" to
;"HOSTS?" so that new jobs won't use it, and lets the old one go away when
;the last job using it logs out.
OLDNAM: SIXBIT/HOSTS!/
NEWNAM: SIXBIT/HOSTS?/
HSTKIL: RESET
MOVE A,OLDNAM
HSTKI1: ATTSEG A, ;Try to attach the segment
JRST @ATTERR(A) ;Failed, find out why
MOVE A,NEWNAM
SETNM2 A, ;Try to rename it
JRST NAMERR ;Failed, can't do much then
MOVEI A,0
CORE2 A, ;Release it
JRST CORERR
MOVE A,['[RSLV]'] ;Job name
MOVE B,[200,,0] ;Interrupt bits
INTIPI A ;Wake up resolver
JFCL
OUTSTR [ASCIZ/Old host table segment has been killed./]
EXIT
ATTERR: ATTPRO ;protection violation
ATTMUL ;multiple upper segments
ATTNON ;no such upper segment job number
ATTNON ;no such upper segment job name
ATTIMP ;already have an upper
ATTIMP ;lower segment is too big
ATTPRO: OUTSTR [ASCIZ/ATTSEG protection violation!/]
EXIT
ATTMUL: OUTSTR [ASCIZ/Multiple host table segments exist. Will kill first one.
/]
HLRZ A,A ;Job number of first one
JRST HSTKI1 ;Try to kill it
ATTNON: OUTSTR [ASCIZ/No host table upper segment found./]
EXIT
ATTIMP: OUTSTR [ASCIZ/Impossible error return from ATTSEG UUO!/]
EXIT
NAMERR: OUTSTR [ASCIZ/SETNM2 to rename upper segment failed!/]
EXIT
CORERR: OUTSTR [ASCIZ/Impossible error return from CORE2 UUO!/]
EXIT
END HSTKIL