Hi ! I'm having some trouble with simple sockets operations, and I'm not sure whether this is a bug, or whether I definitely misunderstood the documentation. Here is a sample code: ;; Create a server (define node-socket (open-tcp-server (list port-number: 8284 eol-encoding: 'cr-lf))) ;; Set it non blocking (input-port-timeout-set! node-socket 0) ;; read once. Should return EOF because no one tried to connect to the ;; server (define c (read node-socket)) ;; returns #t (eof-object? c) ;; Drink a coffee and read again. ;; It should return eof again for no one is connected (define d (read node-socket)) *** ERROR IN ##thread-deadlock-action! -- Deadlock detected Hum... Deadlock ? Should I do something specific after "failing" to read the socket to let some other expression to read it again ? Or is it a bug^Wundocumented feature in the non-blocking ports routines ? This happens as well on beta 22 as on beta 17. Does it happen at yours too on a mac/windows ? Do you use non blocking IO a different manner, and that works ? Regards, Adrien -- "I am not a Church numeral; I am a free variable!" (The Scheme Underground) For every complex problem, there is a solution that is simple, neat, and wrong.