Prevents \LOOKUPPORT waiting for an ethernet timeout if PUP has already been detected as unavailable
This commit is contained in:
118
sources/PUP
118
sources/PUP
@@ -1,12 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 8)
|
||||
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 8)
|
||||
|
||||
(FILECREATED " 3-Feb-2026 18:40:52" {DSK}<Users>briggs>Projects>medley>sources>PUP.;6 334127Q
|
||||
(FILECREATED " 2-Apr-2026 09:13:04" {DSK}<Users>briggs>projects>medley>sources>PUP.;8 333567Q
|
||||
|
||||
:EDIT-BY nhb
|
||||
:EDIT-BY "briggs"
|
||||
|
||||
:CHANGES-TO (VARS PUPCOMS)
|
||||
:CHANGES-TO (FNS \LOOKUPPORT)
|
||||
|
||||
:PREVIOUS-DATE "22-Dec-2025 11:58:55" {DSK}<Users>briggs>Projects>medley>sources>PUP.;5)
|
||||
:PREVIOUS-DATE " 3-Feb-2026 18:40:52" {DSK}<Users>briggs>projects>medley>sources>PUP.;7)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT PUPCOMS)
|
||||
@@ -969,11 +969,13 @@
|
||||
(\DAYTIME0 (create FIXP])
|
||||
|
||||
(\LOOKUPPORT
|
||||
[LAMBDA (NAME) (* ; "Edited 1-Apr-87 12:37 by bvm:")
|
||||
[LAMBDA (NAME) (* ; "Edited 2-Apr-2026 09:08 by briggs")
|
||||
(* ; "Edited 1-Apr-87 12:37 by bvm:")
|
||||
|
||||
(* ;;; "Looks up the ether address of NAME, returning a list of dotted pairs (nethost . socket), or NIL on failure")
|
||||
|
||||
(AND NAME
|
||||
(AND NAME (EQ (OR \PUP.READY (ASSURE.PUP.READY))
|
||||
T)
|
||||
(PROG ((SOC (\GETMISCSOCKET))
|
||||
(OPUP (ALLOCATE.PUP))
|
||||
RESULT BUF LEN IPUP)
|
||||
@@ -981,35 +983,31 @@
|
||||
(PUTPUPSTRING OPUP NAME)
|
||||
[to \MAXETHERTRIES when (SETQ IPUP (EXCHANGEPUPS SOC OPUP NIL T))
|
||||
do (SELECTC (fetch PUPTYPE of IPUP)
|
||||
(\PT.NAMERESPONSE
|
||||
[COND
|
||||
((> (SETQ LEN (IQUOTIENT (FOLDLO (- (fetch PUPLENGTH
|
||||
of IPUP)
|
||||
\PUPOVLEN)
|
||||
BYTESPERWORD)
|
||||
\PORTIDLEN))
|
||||
1)
|
||||
(COND
|
||||
(PUPTRACEFLG (printout PUPTRACEFILE
|
||||
"Multiple response received for " NAME T
|
||||
]
|
||||
[RETURN (SETQ RESULT (from 1 to LEN
|
||||
as (PTR _ (fetch PUPCONTENTS
|
||||
of IPUP))
|
||||
by (\ADDBASE PTR \PORTIDLEN)
|
||||
collect (CONS (fetch (PORT NETHOST)
|
||||
of PTR)
|
||||
(fetch (PORT SOCKET)
|
||||
of PTR])
|
||||
(\PT.NAME/ADDRERROR
|
||||
(\PT.NAMERESPONSE
|
||||
[COND
|
||||
((> (SETQ LEN (IQUOTIENT (FOLDLO (- (fetch PUPLENGTH of IPUP)
|
||||
\PUPOVLEN)
|
||||
BYTESPERWORD)
|
||||
\PORTIDLEN))
|
||||
1)
|
||||
(COND
|
||||
(PUPTRACEFLG (printout PUPTRACEFILE "Name lookup error for "
|
||||
NAME ": " (GETPUPSTRING IPUP)
|
||||
T)))
|
||||
(RETURN))
|
||||
NIL) finally (COND
|
||||
(PUPTRACEFLG (printout PUPTRACEFILE
|
||||
"Name lookup timed out" T]
|
||||
(PUPTRACEFLG (printout PUPTRACEFILE
|
||||
"Multiple response received for " NAME T]
|
||||
[RETURN (SETQ RESULT (from 1 to LEN
|
||||
as (PTR _ (fetch PUPCONTENTS of IPUP))
|
||||
by (\ADDBASE PTR \PORTIDLEN)
|
||||
collect (CONS (fetch (PORT NETHOST)
|
||||
of PTR)
|
||||
(fetch (PORT SOCKET) of PTR])
|
||||
(\PT.NAME/ADDRERROR
|
||||
(COND
|
||||
(PUPTRACEFLG (printout PUPTRACEFILE "Name lookup error for " NAME
|
||||
": " (GETPUPSTRING IPUP)
|
||||
T)))
|
||||
(RETURN))
|
||||
NIL) finally (COND
|
||||
(PUPTRACEFLG (printout PUPTRACEFILE "Name lookup timed out"
|
||||
T]
|
||||
(AND IPUP (RELEASE.PUP IPUP))
|
||||
(RELEASE.PUP OPUP)
|
||||
(RETURN RESULT])
|
||||
@@ -2463,29 +2461,29 @@
|
||||
|
||||
(PUTPROPS PUP FILETYPE CL:COMPILE-FILE)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (25063Q 61351Q (\STARTPUP 25075Q . 25747Q) (ASSURE.PUP.READY 25751Q . 34044Q) (
|
||||
\FIND.LOCALPUPHOSTNUMBER 34046Q . 36555Q) (\PROMPT.FOR.PUP.NUMBER 36557Q . 40577Q) (\HANDLE.RAW.PUP
|
||||
40601Q . 56701Q) (\FORWARD.PUP 56703Q . 57623Q) (\SETPUPCHECKSUM 57625Q . 61347Q)) (66115Q 73207Q (
|
||||
\PUPERROR 66127Q . 73205Q)) (73246Q 112402Q (SETUPPUP 73260Q . 76446Q) (SWAPPUPPORTS 76450Q . 77265Q)
|
||||
(GETPUP 77267Q . 102201Q) (SENDPUP 102203Q . 106025Q) (EXCHANGEPUPS 106027Q . 110065Q) (DISCARDPUPS
|
||||
110067Q . 110673Q) (GETPUPWORD 110675Q . 111214Q) (\PUPINIT 111216Q . 112400Q)) (112403Q 153763Q (
|
||||
ETHERHOSTNAME 112415Q . 121543Q) (ETHERHOSTNUMBER 121545Q . 122160Q) (ETHERPORT 122162Q . 125701Q) (
|
||||
BESTPUPADDRESS 125703Q . 135743Q) (NETDAYTIME0 135745Q . 136276Q) (\PUP.SETTIME 136300Q . 136725Q) (
|
||||
\SETNEWTIME0 136727Q . 140007Q) (\NET.SETTIME 140011Q . 141100Q) (NETDATE 141102Q . 141437Q) (
|
||||
\LOOKUPPORT 141441Q . 147300Q) (\PARSE.PORTCONSTANT 147302Q . 152412Q) (\FIXLOCALNET 152414Q . 153761Q
|
||||
)) (153764Q 154767Q (PORTSTRING 153776Q . 154765Q)) (155361Q 164472Q (CLEARPUP 155373Q . 160106Q) (
|
||||
PUTPUPWORD 160110Q . 160435Q) (GETPUPBYTE 160437Q . 160762Q) (PUTPUPBYTE 160764Q . 161315Q) (
|
||||
GETPUPSTRING 161317Q . 162750Q) (GETPUPSTREAM 162752Q . 163701Q) (PUTPUPSTRING 163703Q . 164470Q)) (
|
||||
166263Q 174102Q (READPLIST 166275Q . 174100Q)) (174263Q 177463Q (\CANONICAL.HOSTNAME 174275Q . 175342Q
|
||||
) (\CANONICALIZE.PUP.HOSTNAME 175344Q . 177461Q)) (202020Q 235225Q (\PUPGATELISTENER 202032Q . 205663Q
|
||||
) (\HANDLE.PUP.ROUTING.INFO 205665Q . 220224Q) (\ROUTE.PUP 220226Q . 224061Q) (\LOCATE.PUPNET 224063Q
|
||||
. 230620Q) (SORT.PUPHOSTS.BY.DISTANCE 230622Q . 233076Q) (\PUPNET.CLOSERP 233100Q . 234261Q) (
|
||||
PUPNET.DISTANCE 234263Q . 235223Q)) (246420Q 256372Q (OPENPUPSOCKET 246432Q . 253113Q) (CLOSEPUPSOCKET
|
||||
253115Q . 254574Q) (PUPSOCKETNUMBER 254576Q . 255027Q) (PUPSOCKETFROMNUMBER 255031Q . 255470Q) (
|
||||
PUPSOCKETEVENT 255472Q . 255751Q) (\FLUSHPUPSOCQUEUE 255753Q . 256370Q)) (256373Q 257140Q (
|
||||
\GETMISCSOCKET 256405Q . 257136Q)) (276636Q 311426Q (PUP.ECHOSERVER 276650Q . 301455Q) (PUP.ECHOUSER
|
||||
301457Q . 311424Q)) (311457Q 320610Q (\PEEKPUP 311471Q . 316622Q) (\MAYBEPEEKPUP 316624Q . 320606Q)) (
|
||||
321211Q 332446Q (PRINTPUP 321223Q . 325373Q) (PRINTPUPROUTE 325375Q . 327342Q) (PRINTPUPDATA 327344Q
|
||||
. 330014Q) (PRINTERRORPUP 330016Q . 330516Q) (PUPTRACE 330520Q . 331031Q) (PRINTCONSTANT 331033Q .
|
||||
332444Q)))))
|
||||
(FILEMAP (NIL (25073Q 61361Q (\STARTPUP 25105Q . 25757Q) (ASSURE.PUP.READY 25761Q . 34054Q) (
|
||||
\FIND.LOCALPUPHOSTNUMBER 34056Q . 36565Q) (\PROMPT.FOR.PUP.NUMBER 36567Q . 40607Q) (\HANDLE.RAW.PUP
|
||||
40611Q . 56711Q) (\FORWARD.PUP 56713Q . 57633Q) (\SETPUPCHECKSUM 57635Q . 61357Q)) (66125Q 73217Q (
|
||||
\PUPERROR 66137Q . 73215Q)) (73256Q 112412Q (SETUPPUP 73270Q . 76456Q) (SWAPPUPPORTS 76460Q . 77275Q)
|
||||
(GETPUP 77277Q . 102211Q) (SENDPUP 102213Q . 106035Q) (EXCHANGEPUPS 106037Q . 110075Q) (DISCARDPUPS
|
||||
110077Q . 110703Q) (GETPUPWORD 110705Q . 111224Q) (\PUPINIT 111226Q . 112410Q)) (112413Q 153423Q (
|
||||
ETHERHOSTNAME 112425Q . 121553Q) (ETHERHOSTNUMBER 121555Q . 122170Q) (ETHERPORT 122172Q . 125711Q) (
|
||||
BESTPUPADDRESS 125713Q . 135753Q) (NETDAYTIME0 135755Q . 136306Q) (\PUP.SETTIME 136310Q . 136735Q) (
|
||||
\SETNEWTIME0 136737Q . 140017Q) (\NET.SETTIME 140021Q . 141110Q) (NETDATE 141112Q . 141447Q) (
|
||||
\LOOKUPPORT 141451Q . 146740Q) (\PARSE.PORTCONSTANT 146742Q . 152052Q) (\FIXLOCALNET 152054Q . 153421Q
|
||||
)) (153424Q 154427Q (PORTSTRING 153436Q . 154425Q)) (155021Q 164132Q (CLEARPUP 155033Q . 157546Q) (
|
||||
PUTPUPWORD 157550Q . 160075Q) (GETPUPBYTE 160077Q . 160422Q) (PUTPUPBYTE 160424Q . 160755Q) (
|
||||
GETPUPSTRING 160757Q . 162410Q) (GETPUPSTREAM 162412Q . 163341Q) (PUTPUPSTRING 163343Q . 164130Q)) (
|
||||
165723Q 173542Q (READPLIST 165735Q . 173540Q)) (173723Q 177123Q (\CANONICAL.HOSTNAME 173735Q . 175002Q
|
||||
) (\CANONICALIZE.PUP.HOSTNAME 175004Q . 177121Q)) (201460Q 234665Q (\PUPGATELISTENER 201472Q . 205323Q
|
||||
) (\HANDLE.PUP.ROUTING.INFO 205325Q . 217664Q) (\ROUTE.PUP 217666Q . 223521Q) (\LOCATE.PUPNET 223523Q
|
||||
. 230260Q) (SORT.PUPHOSTS.BY.DISTANCE 230262Q . 232536Q) (\PUPNET.CLOSERP 232540Q . 233721Q) (
|
||||
PUPNET.DISTANCE 233723Q . 234663Q)) (246060Q 256032Q (OPENPUPSOCKET 246072Q . 252553Q) (CLOSEPUPSOCKET
|
||||
252555Q . 254234Q) (PUPSOCKETNUMBER 254236Q . 254467Q) (PUPSOCKETFROMNUMBER 254471Q . 255130Q) (
|
||||
PUPSOCKETEVENT 255132Q . 255411Q) (\FLUSHPUPSOCQUEUE 255413Q . 256030Q)) (256033Q 256600Q (
|
||||
\GETMISCSOCKET 256045Q . 256576Q)) (276276Q 311066Q (PUP.ECHOSERVER 276310Q . 301115Q) (PUP.ECHOUSER
|
||||
301117Q . 311064Q)) (311117Q 320250Q (\PEEKPUP 311131Q . 316262Q) (\MAYBEPEEKPUP 316264Q . 320246Q)) (
|
||||
320651Q 332106Q (PRINTPUP 320663Q . 325033Q) (PRINTPUPROUTE 325035Q . 327002Q) (PRINTPUPDATA 327004Q
|
||||
. 327454Q) (PRINTERRORPUP 327456Q . 330156Q) (PUPTRACE 330160Q . 330471Q) (PRINTCONSTANT 330473Q .
|
||||
332104Q)))))
|
||||
STOP
|
||||
|
||||
BIN
sources/PUP.LCOM
BIN
sources/PUP.LCOM
Binary file not shown.
Reference in New Issue
Block a user