mirror of
https://github.com/PDP-10/its.git
synced 2026-04-10 07:05:44 +00:00
Files are from RRS; AR5 MUDDLE on ToTS tape 9006256. Some timestamps are from DM _TAPE files.
57 lines
1.8 KiB
Plaintext
57 lines
1.8 KiB
Plaintext
|
||
<PACKAGE "SUBSYS">
|
||
|
||
<ENTRY SUBSYS CONTINUE KILLFORK>
|
||
|
||
<USE "JSYS">
|
||
|
||
<BLOCK (!.OBLIST <GET J OBLIST>)>
|
||
|
||
<DEFINE SUBSYS (
|
||
"OPTIONAL" (FILENAME "<SYSTEM>EXEC.EXE")
|
||
"AUX" JFN CHN A B C D FH)
|
||
#DECL ((FILENAME) STRING (CHN) <OR CHANNEL FALSE>
|
||
(A) <VECTOR [2 <PRIMTYPE WORD>]>
|
||
(VALUE B C D JFN FH) <PRIMTYPE WORD>)
|
||
<SET B 262144> ;"DO A SHORT GET JFN"
|
||
<COND (<N=? <2 <SET A <JSYS ,GTJFN .B <ADR .FILENAME> 0 1>>> 0>
|
||
<SET JFN <ANDB <1 .A> 262143>>)
|
||
(T <ERROR SUBSYS GTJFN-FAILED!-ERRORS <1 .A>>)>
|
||
<COND (<N=? <2 <SET A <JSYS ,CFORK 0 0 0 1>>> 0> <SET FH <1 .A>>)
|
||
(T <ERROR SUBSYS CFORK-FAILED!-ERRORS <1 .A>>)>
|
||
<SET C <PUTBITS #WORD *000000000000* <BITS 18 18> .FH>>
|
||
<SET C <PUTBITS .C <BITS 18 0> .JFN>>
|
||
<JSYS ,GET-JSYS .C 0 0 1>
|
||
<JSYS ,EPCAP .FH -1 -1 3>
|
||
<JSYS ,SFRKV .FH 0 0 1>
|
||
<JSYS ,WFORK .FH 0 0 1>
|
||
.FH>
|
||
|
||
<DEFINE CONTINUE (FKH "AUX" FSW FPC T1 T2)
|
||
#DECL ((FKH FSW FPC T1 T2) <PRIMTYPE WORD>
|
||
(VALUE) <OR <PRIMTYPE WORD> FALSE>)
|
||
<SET FSW <1 <JSYS ,RFSTS .FKH 0 0 1>>>
|
||
<SET T1 <GETBITS .FSW <BITS 18 18>>>
|
||
<COND (<==? .T1 #WORD *000000777777*>
|
||
<CHTYPE ("FORK DOES'NT EXIST" .FKH) FALSE>)
|
||
(T
|
||
<SET FPC <1 <JSYS ,RFSTS .FKH 0 0 2>>>
|
||
<COND (<==? <ANDB .T1 #WORD *000000000007*> #WORD *000000000000*>
|
||
<CHTYPE ("FORK IS RUNNING" .FKH) FALSE>)
|
||
(T
|
||
<JSYS ,SFORK .FKH .FPC 0 1>
|
||
<JSYS ,WFORK .FKH 0 0 1>
|
||
.FKH)>)>>
|
||
|
||
<DEFINE KILLFORK (FKH "AUX" FSW T1)
|
||
#DECL ((VALUE) <OR <PRIMTYPE WORD> FALSE> (FKH FSW T1) <PRIMTYPE WORD>)
|
||
<SET FSW <1 <JSYS ,RFSTS .FKH 0 0 1>>>
|
||
<SET T1 <GETBITS .FSW <BITS 18 18>>>
|
||
<COND (<==? .T1 #WORD *000000777777*>
|
||
<CHTYPE ("INVALID FORK HANDLE" .FKH) FALSE>)
|
||
(T <JSYS ,KFORK .FKH 0 0 1> .FKH)>>
|
||
|
||
<ENDBLOCK>
|
||
|
||
<ENDPACKAGE>
|
||
|