Skip to content

timeout does not behave as expected

In trying to debug an error I found using the MongoDB package (it was refusing connections) I found what I believe is a bug with System.Timeout.

When connecting with connectTo I immediately get a handle, wrapped in timeout with a positive timeout, it instantly returns Nothing. When using a negative timeout (wait indefinitely) it instantly returns the proper Handle.

Below is a minimal test-case that I ran in ghci.

Import System.Timeout

Import Network

timeout (-1) $ connectTo "127.0.0.1" (PortNumber 27017) -- This returns: Just {handle: <socket: 9>}

timeout 1000000 $ connectTo "127.0.0.1" (PortNumber 27017) -- This returns Nothing

Trac metadata
Trac field Value
Version 7.6.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component libraries/base
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information