space-0.1.0: src/Space/UnixSocket.hs
module Space.UnixSocket
( Socket
, unixSocket
) where
import Space.Import
import Network.Socket
import System.Directory
unixSocket :: FilePath -> IO Socket
unixSocket path = do
tryRemoveFile path
s <- socket AF_UNIX Stream defaultProtocol
bind s (SockAddrUnix path)
listen s maxListenQueue
return s
tryRemoveFile :: FilePath -> IO ()
tryRemoveFile path = catchIOError (removeFile path) (const (return ()))