(FILECREATED "17-Oct-85 16:47:54" {ERIS}<LISP>INTERMEZZO>PATCHES>SPPPATCH2.;5 2942
changes to: (VARS SPPPATCH2COMS)
previous date: " 4-Jul-85 00:21:24" {ERIS}<LISP>INTERMEZZO>PATCHES>SPPPATCH2.;4)
(* Copyright (c) 1985 by Xerox Corporation. All rights reserved.)
(PRETTYCOMPRINT SPPPATCH2COMS)
(RPAQQ SPPPATCH2COMS ((FNS SPP.OPEN)))
(DEFINEQ
(SPP.OPEN
[LAMBDA (HOST SOCKET PROBEP NAME PROPS) (* gbn " 4-Jul-85 00:21")
(LET ((CON (\SPPCONNECTION HOST SOCKET NAME)))
(RESETLST (RESETSAVE NIL (LIST [FUNCTION (LAMBDA (CON)
(LET ((SOCKET (fetch (SPPCON SPPMYNSOCKET) of CON)))
(AND RESETSTATE (type? NSOCKET SOCKET)
(CLOSENSOCKET SOCKET T]
CON))
(WITH.MONITOR (fetch SPPLOCK of CON)
(PROG (INSTREAM OUTSTREAM)
(RETURN (COND
((COND
((NULL HOST)
(* Passive connection)
(until (fetch SPPESTABLISHEDP of CON)
do (MONITOR.AWAIT.EVENT (fetch SPPLOCK
of CON)
(fetch SPPINPUTEVENT
of CON)))
(fetch SPPESTABLISHEDP of CON))
((OR (fetch SPPESTABLISHEDP of CON)
(NOT PROBEP))
T)
(T (\SPP.PROBE CON)
(MONITOR.AWAIT.EVENT (fetch SPPLOCK
of CON)
(fetch SPPINPUTEVENT
of CON)
SPP.USER.TIMEOUT)
(fetch SPPESTABLISHEDP of CON)))
[replace SPPINPUTSTREAM of CON
with (SETQ INSTREAM (\SPP.CREATE.STREAM
(QUOTE INPUT]
(replace SPP.CONNECTION of INSTREAM with CON)
(replace STRMBOUTFN of INSTREAM
with (FUNCTION \SPP.OTHER.BOUT))
[replace SPPOUTPUTSTREAM of CON
with (SETQ OUTSTREAM (\SPP.CREATE.STREAM
(QUOTE OUTPUT]
(replace SPP.CONNECTION of OUTSTREAM with CON)
(for TAIL on PROPS by (CDDR TAIL)
do (SELECTQ (CAR TAIL)
(CLOSEFN (replace SPPWHENCLOSEDFN
of CON
with (CADR TAIL)))
(ATTENTIONFN (replace SPPATTENTIONFN
of CON
with (CADR TAIL)))
(ERRORHANDLER (replace SPPERRORHANDLER
of CON
with (CADR TAIL)))
(EOM.ON.FORCEOUT (replace
SPPEOMONFORCEOUT
of CON
with (CADR TAIL)))
NIL))
(push (fetch DEVICEINFO of \SPPDEVICE)
INSTREAM)
INSTREAM])
)
(PUTPROPS SPPPATCH2 COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
(FILEMAP (NIL (365 2862 (SPP.OPEN 375 . 2860)))))
STOP