equal
deleted
inserted
replaced
1 {-# LANGUAGE CPP, ScopedTypeVariables #-} |
1 {-# LANGUAGE CPP, ScopedTypeVariables #-} |
2 |
2 |
3 module Main where |
3 module Main where |
4 |
4 |
5 import Network |
5 import Network.Socket |
|
6 import Network.BSD |
6 import Control.Concurrent.STM |
7 import Control.Concurrent.STM |
7 import Control.Concurrent.Chan |
8 import Control.Concurrent.Chan |
8 import qualified Control.Exception as Exception |
9 import qualified Control.Exception as Exception |
9 import System.Log.Logger |
10 import System.Log.Logger |
10 ----------------------------------- |
11 ----------------------------------- |
44 let serverInfo = serverInfo'{dbHost = dbHost', dbLogin = dbLogin', dbPassword = dbPassword'} |
45 let serverInfo = serverInfo'{dbHost = dbHost', dbLogin = dbLogin', dbPassword = dbPassword'} |
45 #else |
46 #else |
46 let serverInfo = serverInfo' |
47 let serverInfo = serverInfo' |
47 #endif |
48 #endif |
48 |
49 |
|
50 |
|
51 proto <- getProtocolNumber "tcp" |
49 Exception.bracket |
52 Exception.bracket |
50 (Network.listenOn $ Network.PortNumber $ listenPort serverInfo) |
53 (socket AF_INET Stream proto) |
51 sClose |
54 sClose |
52 (startServer serverInfo) |
55 (\sock -> do |
|
56 setSocketOption sock ReuseAddr 1 |
|
57 bindSocket sock (SockAddrInet (listenPort serverInfo) iNADDR_ANY) |
|
58 listen sock maxListenQueue |
|
59 startServer serverInfo sock |
|
60 ) |