equal
deleted
inserted
replaced
48 server :: ServerInfo -> IO () |
48 server :: ServerInfo -> IO () |
49 server si = do |
49 server si = do |
50 proto <- getProtocolNumber "tcp" |
50 proto <- getProtocolNumber "tcp" |
51 E.bracket |
51 E.bracket |
52 (socket AF_INET Stream proto) |
52 (socket AF_INET Stream proto) |
53 sClose |
53 close |
54 (\sock -> do |
54 (\sock -> do |
55 setSocketOption sock ReuseAddr 1 |
55 setSocketOption sock ReuseAddr 1 |
56 bindSocket sock (SockAddrInet (listenPort si) iNADDR_ANY) |
56 iNADDR_ANY <- addrAddress . head <$> getAddrInfo Nothing (Just "0") (Just (show (listenPort si))) |
|
57 bind sock iNADDR_ANY |
57 listen sock maxListenQueue |
58 listen sock maxListenQueue |
58 startServer si{serverSocket = Just sock} |
59 startServer si{serverSocket = Just sock} |
59 ) |
60 ) |
60 |
61 |
61 handleRestart :: ShutdownException -> IO () |
62 handleRestart :: ShutdownException -> IO () |