From: Sam S. <sd...@gn...> - 2007-03-27 03:03:09
|
> * Mark Voortman <zn...@ib...zr> [2007-03-26 23:41:41 +0200]: > > I'm either doing something wrong or I found a bug. Socket-accept works > fine as long as you close the stream it returns before calling > socket-accept again. If I don't close the stream it will hang on the > second call to socket-accept. This is not a convenient situation when > you want to multiplex. I tried to use the :backlog keyword but without > any effect. I'm using CLISP 2.41 on OpenBSD 4.0. Any suggestions are > welcome. I just tested it on linux and I do not observe a bug: in 3 xterms: [1] $ clisp [1]> (setq s (socket-server)) #<SOCKET-SERVER 0.0.0.0:45289> [2]> (setq s1 (socket-accept s)) #<IO INPUT-BUFFERED SOCKET-STREAM CHARACTER 0.0.0.0:45289> [3]> (setq s2 (socket-accept s)) #<IO INPUT-BUFFERED SOCKET-STREAM CHARACTER 0.0.0.0:45289> [4]> (close s1) T [5]> (close s2) T [2] $ telnet localhost 45289 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host. $ [3] $ telnet localhost 45289 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Connection closed by foreign host. $ please do debug this. you can try strace if you do not want to use gdb. -- Sam Steingold (http://sds.podval.org/) on Fedora Core release 6 (Zod) http://ffii.org http://camera.org http://openvotingconsortium.org http://thereligionofpeace.com http://truepeace.org http://honestreporting.com Parachute for sale, used once, never opened, small stain. |