mit-scheme-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MIT-Scheme-devel] server socket closing problem


From: Arthur A. Gleckler
Subject: [MIT-Scheme-devel] server socket closing problem
Date: Sat, 16 Aug 2003 23:03:09 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3.1) Gecko/20030425

Can someone explain the behavior in the transcript below? I've been working through the MIT Scheme source code and setting breakpoints, but I can't explain it. The summary is that opening and closing a server socket correctly closes the socket so that it can be opened again on the same network port, but only if no connection was accepted on that server socket while it was open.

Thanks very much.

  1 ]=> (define foo (open-tcp-server-socket 8000))

  ;Value: foo

  1 ]=> (close-tcp-server-socket foo)

  ;Unspecified return value

  1 ]=> (define foo (open-tcp-server-socket 8000))

  ;Value: foo

  1 ]=> (define bar (tcp-server-connection-accept foo #t #f))

This blocks until I do <telnet localhost 8000> in another window.

  ;Value: bar

  1 ]=> (close-port bar)

  ;Unspecified return value

  1 ]=> (close-tcp-server-socket foo)

  ;Unspecified return value

  1 ]=> (define foo (open-tcp-server-socket 8000))

This is the part I don't understand:

;The primitive bind-tcp-server-socket, while executing the bind system call, received the error: unknown.
  ;To continue, call RESTART with an option number:
  ; (RESTART 1) => Return to read-eval-print level 1.

  2 error>

I've written the equivalent Java program and it doesn't have this problem.

Thanks.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]