Fixes bug 205437: socket errors not being reported

This commit is contained in:
Abdulaziz Ghuloum
2008-03-24 00:01:22 -04:00
parent 884f3fe921
commit fc92ec8e9f
3 changed files with 12 additions and 9 deletions
+6 -5
View File
@@ -15,19 +15,20 @@
(case-lambda
[(who port)
(let ([s (tcp-server-socket-nonblocking
(or (string->number port)
(or (string->number port)
(error who "invalid port number" port)))])
(printf "Listening on port ~a\n" port)
(call/cc
(lambda (k)
(lambda (k)
(with-exception-handler k
(lambda ()
(lambda ()
(let f ()
(let-values ([(op ip)
(accept-connection-nonblocking s)])
(let ([op (transcoded-port op (native-transcoder))]
[ip (transcoded-port ip (native-transcoder))])
(register-callback op
(lambda ()
(register-callback op
(lambda ()
(display "What's your name? " op)
(let ([name (get-name ip)])
(printf "Connection from ~s\n" name)