Google
 

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)