Update of /cvsroot/scsh/scsh/scsh
In directory usw-pr-cvs1:/tmp/cvs-serv3902
Modified Files:
network.scm
Log Message:
Merge from 0.6: handler for bind-listen-accept-loop, which closes the socket.
Index: network.scm
===================================================================
RCS file: /cvsroot/scsh/scsh/scsh/network.scm,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -r1.17 -r1.18
*** network.scm 2000/06/13 22:08:57 1.17
--- network.scm 2001/07/10 11:49:06 1.18
***************
*** 81,87 ****
(bind-socket sock addr)
(listen-socket sock 5)
! (let loop ()
! (call-with-values (lambda () (accept-connection sock)) proc)
! (loop))))
;;;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
--- 81,101 ----
(bind-socket sock addr)
(listen-socket sock 5)
! (with-handler
! (lambda (condition more)
! (with-handler
! (lambda (condition ignore) (more))
! (lambda () (close-socket sock)))
! (more))
! (lambda ()
! (let loop ()
! (with-errno-handler
! ;; ECONNABORTED we just ignore
! ((errno packet)
! ((errno/connaborted) (loop)))
! (call-with-values
! (lambda () (accept-connection sock))
! proc)
! (loop)))))))
!
;;;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|