Hi,
I am currently working on a multi-platform project and I stumbled on a difference in the behavior of open-tcp-client between MacOSX and Windows (MinGW) using Gambit-C 4.0 beta20. The difference occurs when I open a connection to an address where no server is running and try to read from it. In MacOSX I get an exception and in Windows I get an infinite loop.
Here is a trivial test:
(define (test-tcpclient) (let ((p (open-tcp-client (list server-address: "127.0.0.1" port-number: 8087 eol-encoding: 'cr-lf )))) (display "test\n\n" p) (read-line p)))
On MacOSX I get:
*** ERROR IN ##read-line -- Connection refused (read-char '#<input-output-port #3 (tcp-client "127.0.0.1" 8087)>)
On Windows I get an infinite loop waiting for the read-line to terminate.
I know I can put some timeout on the read-line but I think the MacOSX behavior is the correct one.
Thank you, Francois Magnan