Cannot System,Timeout.timeout Network.accept

Hello Cafe. I cannot accept socket connection with timeout (Windows, GHC 7.4,1). Consider following code:
import Network import System.Timeout main = withSocketsDo $ do print ":: Starting server ..." sock <- listenOn (PortNumber 4010) res <- timeout 1 (accept sock) print "Timed out" -- Never output! sClose sock
Documentation on http://www.haskell.org/ghc/docs/latest/html/libraries/base/System-Timeout.ht... says:"... Standard I/O functions like ... Network.Socket.accept, ... appear to be blocking, but they really don't because the runtime system uses scheduling mechanisms like select(2) to perform asynchronous I/O, so it is possible to interrupt standard socket I/O or file I/O using this combinator." Neither Network.accept, nor Network.Socket.accept can be timed out is example above. Is it bug?

Some functions in the network package are: "NOTE: blocking on Windows unless you compile with -threaded (see GHC ticket #1129)" This note does appear next to 'accept', but could you try to compile with -threaded and see if that makes a difference? -- Johan

Tried
ghc test.lhs -threaded
Problem was not solved. Maybe I am compiling incorrectly (I used ghci only)?
Btw, thanks for ticket No. Maybe I will reopen it later.
2012/6/21 Johan Tibell
Some functions in the network package are:
"NOTE: blocking on Windows unless you compile with -threaded (see GHC ticket #1129)"
This note does appear next to 'accept', but could you try to compile with -threaded and see if that makes a difference?
-- Johan
participants (2)
-
Daniel Hlynskyi
-
Johan Tibell