From a26e54b1c48aaa38e08e3a0b1712d45625528187 Mon Sep 17 00:00:00 2001 From: Lars Brinkhoff Date: Tue, 13 Mar 2018 14:36:07 +0100 Subject: [PATCH] Copy IMPCTS from KS IMP to old IMP code. An IMP will only allow five outstanding messages to a host without receiving an RFNM message. The 1985 file SYSTEM; INET 115 had tracking of RFNM in place. At some point, the old IMP code was saved as IMPOLD WTHNCP. Later the code in INET was moved to the new IMP file as the routine IMPCTS, but IMPOLD was not updated. --- src/system/impold.wthncp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/system/impold.wthncp b/src/system/impold.wthncp index 4709a9c1..7f48e5be 100755 --- a/src/system/impold.wthncp +++ b/src/system/impold.wthncp @@ -695,6 +695,23 @@ FNDHS5: MOVEM I,IMPHTF ;FREE LIST SKIPGE IMPHTF POPJ P, ;GC-OVERFLOW JRST FNDHST ;TRY AGAIN, SHOULD WIN + +;See if IMP code is willing to handle a particular datagram right now. +; A/ IP DGM pointer +; C/ Immediate destination address +; Returns +1, can't send right now, +2, OK to send +; +IMPCTS: +IFN 0,[ + MOVE T,C ;Set up for FNDHST + AND T,[<377_16.>+377] ;Mask out all but host and IMP field + CALL FNDHST ;Get host index in H + POPJ P, ;No host entry, don't send + JSP T,IMPBLI ;See if OK to send + POPJ P, ;IMP wants to block, no send +] + JRST POPJ1 ;Skip return if OK to send. + SUBTTL ARPANET INPUT INTERRUPT LEVEL