Trailing-Edge
-
PDP-10 Archives
-
SRI_NIC_PERM_SRC_3_19910112
-
mm-dom/smtjfn.dif
There are no other files named smtjfn.dif in the archive.
; SMTJFN.MAC.1 & <MM>SMTJFN.MAC.4 19-Apr-88 1614 PAGE 1
LINE 1, PAGE 1
1) TITLE SMTJFN - Multiforking mail listener
LINE 1, PAGE 1
2) ;[SRI-NIC]SRC:<MM>SMTJFN.MAC.4, 12-Mar-87 15:44:08, Edit by MKL
2) ; handle GTJFN failure
2)
2) TITLE SMTJFN - Multiforking mail listener
LINE 13, PAGE 1
1) SMTVER==6 ; SMTJFN's release version (matches monitor's)
1) SMTMIN==1 ; SMTJFN's minor version
1) SMTEDT==^D8 ; SMTJFN's edit version
1)
LINE 16, PAGE 1
2) SMTVER==5 ; SMTJFN's release version (matches monitor's)
2) SMTMIN==4 ; SMTJFN's minor version
2) SMTEDT==^D6 ; SMTJFN's edit version
2)
LINE 30, PAGE 4
1) LOOP. ; and go back for another one
LINE 30, PAGE 4
2) NOP ; ignore the failure
2) LOOP. ; and go back for another one
LINE 11, PAGE 8
1) DO.
1) MOVX A,GJ%SHT
1) HRROI B,[ASCIZ "TCP:25#;TIMEOUT:60"] ; wait 60 seconds for SYN
1) GTJFN% ; get a JFN to listen on
1) IFJER.
1) MOVX A,^D<10*1000> ; failed, wait a bit
1) DISMS%
1) LOOP. ; and try again
1) ENDIF.
1) MOVEM A,TCPJFN ; copy the JFN to a safe register
1) MOVX B,<OF%RD!OF%WR!<FLD ^D8,OF%BSZ>!<FLD .TCMWH,OF%MOD>>
1) OPENF% ; wait for a connection
1) IFJER.
1) MOVE A,TCPJFN ; get the JFN back
1) RLJFN% ; through it away
1) ERJMP .+1
1) MOVX A,^D<10*1000> ; failed, wait a bit
1) DISMS%
1) LOOP. ; and try again
1) ENDIF.
; SMTJFN.MAC.1 & <MM>SMTJFN.MAC.4 19-Apr-88 1614 PAGE 2
1) ENDDO.
1) MOVX B,.TCSTP ; reset retranmission timeout
LINE 11, PAGE 8
2) MOVX A,GJ%SHT
2) HRROI B,[ASCIZ "TCP:25#;TIMEOUT:60"] ; wait 60 seconds for SYN
2) GTJFN% ; get a JFN to listen on
2) ; ERMSG (GTJFN failed)
2) ifjer.
2) movei 1,^d30000
2) disms%
2) ret
2) endif.
2)
2) MOVEM A,TCPJFN ; copy the JFN to a safe register
2) MOVX B,<OF%RD!OF%WR!<FLD ^D8,OF%BSZ>!<FLD .TCMWI,OF%MOD>>
2) OPENF% ; wait for a connection
2) IFJER.
2) MOVE A,TCPJFN ; get the JFN back
2) RLJFN% ; through it away
2) ERJMP .+1
2) RET ; print error message and return
2) ENDIF.
2) MOVX B,.TCSTP ; reset retranmission timeout
LINE 64, PAGE 8
1) RET ; return to get another fork
1)
LINE 62, PAGE 8
2) RETSKP ; return success
2)