From fb8e46fccff2182b0ec93e2860f783c9100222ad Mon Sep 17 00:00:00 2001 From: Nick Briggs Date: Thu, 2 Apr 2026 09:20:02 -0700 Subject: [PATCH] Prevents \LOOKUPPORT waiting for an ethernet timeout if PUP has already been detected as unavailable --- sources/PUP | 118 +++++++++++++++++++++++------------------------ sources/PUP.LCOM | Bin 34565 -> 34629 bytes 2 files changed, 58 insertions(+), 60 deletions(-) diff --git a/sources/PUP b/sources/PUP index 09aed83b..9f657fb5 100644 --- a/sources/PUP +++ b/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}briggs>Projects>medley>sources>PUP.;6 334127Q +(FILECREATED " 2-Apr-2026 09:13:04" {DSK}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}briggs>Projects>medley>sources>PUP.;5) + :PREVIOUS-DATE " 3-Feb-2026 18:40:52" {DSK}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 diff --git a/sources/PUP.LCOM b/sources/PUP.LCOM index 87a0bd8ef50c032b1ec299d48c8865bb4e5e08db..e806a51ebed6410e1468ce216d244d28d341f347 100644 GIT binary patch delta 1013 zcmZuwU2D@&7;fjqbj%MJlPMd#L}VM7kaKd<&M4EYJ?%oXB+Z9z*o%F%&hEpOwqA)8 z1icZ4T|n?se}QxEC-?&d|AR2R*qt|mzG=2v=0Zac&w1YGdEWP&yxJM~x-&32mE}3Z z;$qG)xoB898#G7H6!bg?!LWSpnug~H5Po<)*10z}LPfpa5UEU4Am7%Ag1^qj&1Ajv zcDy|^Jp=;uGiEeJ)ksQ!)>>`5zBO5f>QfMMfoVcNPm&}7$}6o(`K)?{2-8DTQNE1J zb)RQXk-9NtCXB-KtXFt(H)vKG&DqsPb$z`#8wUeLQPfnr2pZ2CzBsppL1TgdT4r9i z^4t@B8>VuW2PMf7*66H=xyouh05YR7SyQP1LuWZRY8#cc zR&#c{^L`|m-v5#OB|-IKB9XlR<=o4?nbi`n6!EROE(C4SBuPpZSw zPU&FK+Wh|MFuX(FT`q6!9(~;Vv%DPbe0~^yyFMQNCRZ=KiGhh)c!^4FrWV2FCf7YK zIe`PJk~#%YWZ=;{t^q2cMZkqcfTffo?t6f$k;?_L0{zlJa_Q~ zxCfC-2}!+%Fuxo=V%KhAN~8-K-bp5-l3=ZDS757F+k94sN~2M0z+-&zgOt^fu^am> H)^Yy=IzSRp delta 998 zcmZ`%%Wl(95KRgK5f!m0l|X_ry5i9+9Qj^fC&fZ7u6>i3I*wyIZIQZ2AE7OMq)N-G zLXnWzRul_9pkF{*_y87cShM335P}^`nA?Ps2C!slG;`*hGc)(Y-oW#{fr(LDR{fR3>nv$P!FX=Nd_; zMx|#9jYY!l19faLG7P(RIQ8^ib-Ui&9$#p#E-!D7OJkc^&@@h2t^$Uzok*E{n1aof z1u(3l=@mq%L}eJAHiHoSs&AD`VHylS5YtY%8Y(tQ0%1(C>x*)59Vj*QF+ zT%@lr&8)xte$f6|tI5jYgZL|DaqaqWY_j1N(<%@MSD2y5pkdG{?@OqNz;pV613afz z00WN#*RvHUhzNVa2r~uX9Cy+!%JpBC7h*KSPJ6>y|Ct^zlGaUy7ET&jdOAf;Meb*AclAeuV?AqIK+ zdF27-O6IJHiXy-hh!6(@t|1XI@L6*e35YkpQHS+LW9`Wn)SJyl6CUADa8I}>Qi@;k Y8)t#4TI}+x1L;)!{`Tdgk9;@y1?x5mqW}N^