@@ -14,6 +14,7 @@ import Control.Exception (bracketOnError)
15-- Copied from upstream impl of listenOn
15-- Copied from upstream impl of listenOn
16-- bound to localhost interface instead of iNADDR_ANY
16-- bound to localhost interface instead of iNADDR_ANY
17+listenOnLocalhost :: PortID -> IO Socket
17listenOnLocalhost (PortNumber port) = do
18listenOnLocalhost (PortNumber port) = do
18 proto <- getProtocolNumber "tcp"
19 proto <- getProtocolNumber "tcp"
19 localhost <- inet_addr "127.0.0.1"
20 localhost <- inet_addr "127.0.0.1"
@@ -27,6 +28,7 @@ listenOnLocalhost (PortNumber port) = do
27 return sock
28 return sock
31+listenOnLocalhostAnyPort :: IO (Socket, PortNumber)
30listenOnLocalhostAnyPort = do
32listenOnLocalhostAnyPort = do
31 proto <- getProtocolNumber "tcp"
33 proto <- getProtocolNumber "tcp"
32 localhost <- inet_addr "127.0.0.1"
34 localhost <- inet_addr "127.0.0.1"