Hello.
Dmitry, I've tried the patch. It works, but not always. Sometimes I get this error:
Socket error in "accept": 0 (Operaction completed successfully.) [Condition of type SB-BSD-SOCKETS:SOCKET-ERROR]
Backtrace: 0: (SB-BSD-SOCKETS:SOCKET-ERROR "accept") 1: ((SB-PCL::FAST-METHOD SB-BSD-SOCKETS:SOCKET-ACCEPT (SB-BSD-SOCKETS:SOCKET)) #<unavailable argument> #<unavailable argument> #<SB-BSD-SOCKETS:INET-SOCKET 0.0.0.0:4242, fd: 9 {248303C9}>) 2: ((SB-PCL::FAST-METHOD USOCKET:SOCKET-ACCEPT (USOCKET:STREAM-SERVER-USOCKET)) #<unavailable argument> #<unavailable argument> #<USOCKET:STREAM-SERVER-USOCKET {248309F9}>)[:EXTERNAL] 3: ((SB-PCL::FAST-METHOD HUNCHENTOOT:ACCEPT-CONNECTIONS (HUNCHENTOOT:ACCEPTOR)) #<unavailable argument> #<unavailable argument> #<HUNCHENTOOT:ACCEPTOR (host *, port 4242)>) 4: ((FLET #:WITHOUT-INTERRUPTS-BODY-[BLOCK365]370)) 5: ((FLET SB-THREAD::WITH-MUTEX-THUNK)) 6: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]300)) 7: (SB-THREAD::CALL-WITH-MUTEX ..) 8: (SB-THREAD::INITIAL-THREAD-FUNCTION)
I am testing it by running hunchentoot-1.1.0 on windows, with the recent SBCL+threads (the binay downloaded from http://dmitry-vk.livejournal.com/34529.html?thread=135905#t135905).
I am not really sure if it's a bug in Usocket, or in SBCL.
Best regards, - Anton