diff options
Diffstat (limited to 'Presence/Presence.hs')
-rw-r--r-- | Presence/Presence.hs | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/Presence/Presence.hs b/Presence/Presence.hs index 697c1476..af6597b6 100644 --- a/Presence/Presence.hs +++ b/Presence/Presence.hs | |||
@@ -6,32 +6,27 @@ | |||
6 | module Presence where | 6 | module Presence where |
7 | 7 | ||
8 | import System.Directory | 8 | import System.Directory |
9 | import System.Environment | ||
10 | import System.IO.Error | 9 | import System.IO.Error |
11 | import System.Posix.Signals | 10 | #ifndef THREAD_DEBUG |
12 | import Control.Concurrent (threadDelay,forkIO,forkOS,killThread,throwTo) | 11 | import Control.Concurrent |
12 | #else | ||
13 | import Control.Concurrent.Lifted.Instrument | ||
14 | #endif | ||
15 | |||
13 | import Control.Concurrent.STM | 16 | import Control.Concurrent.STM |
14 | import Control.Concurrent.STM.TMVar | ||
15 | import Control.Monad.Trans | 17 | import Control.Monad.Trans |
16 | import Control.Monad.IO.Class (MonadIO, liftIO) | 18 | import Network.Socket ( SockAddr(..) ) |
17 | import Network.Socket ( SockAddr(..), PortNumber ) | ||
18 | import System.Endian (fromBE32) | ||
19 | import Data.Char | 19 | import Data.Char |
20 | import Data.List (nub, (\\), intersect, groupBy, sort, sortBy ) | 20 | import Data.List (nub, (\\), intersect, groupBy, sort, sortBy ) |
21 | import Data.Ord (comparing ) | 21 | import Data.Ord (comparing ) |
22 | import Data.Monoid ( (<>), Sum(..), getSum ) | 22 | import Data.Monoid ((<>)) |
23 | import qualified Data.Text as Text | 23 | import qualified Data.Text as Text |
24 | import qualified Data.Text.IO as Text | ||
25 | import qualified Data.Text.Encoding as Text | 24 | import qualified Data.Text.Encoding as Text |
26 | import Control.Monad | 25 | import Control.Monad |
27 | import Control.Monad.Fix | ||
28 | import qualified Network.BSD as BSD | ||
29 | import qualified Data.Text as Text | ||
30 | import Data.Text (Text) | 26 | import Data.Text (Text) |
31 | import qualified Data.Map as Map | 27 | import qualified Data.Map as Map |
32 | import Data.Map (Map) | 28 | import Data.Map (Map) |
33 | import Control.Exception ({-evaluate,-}handle,SomeException(..),bracketOnError,ErrorCall(..)) | 29 | import Control.Exception ({-evaluate,-}handle,SomeException(..)) |
34 | import System.IO.Error (isDoesNotExistError) | ||
35 | import System.Posix.User (getUserEntryForID,userName) | 30 | import System.Posix.User (getUserEntryForID,userName) |
36 | import qualified Data.ByteString.Lazy.Char8 as L | 31 | import qualified Data.ByteString.Lazy.Char8 as L |
37 | import qualified ConfigFiles | 32 | import qualified ConfigFiles |
@@ -41,14 +36,7 @@ import Data.Int (Int8) | |||
41 | import Data.XML.Types (Event) | 36 | import Data.XML.Types (Event) |
42 | import System.Posix.Types (UserID,CPid) | 37 | import System.Posix.Types (UserID,CPid) |
43 | import Control.Applicative | 38 | import Control.Applicative |
44 | #ifdef CRYPTONITE_BACKPORT | ||
45 | import Crypto.Error.Types (CryptoFailable (..)) | ||
46 | #else | ||
47 | import Crypto.Error | ||
48 | #endif | ||
49 | import Crypto.PubKey.Curve25519 (SecretKey,toPublic) | 39 | import Crypto.PubKey.Curve25519 (SecretKey,toPublic) |
50 | import Text.Read (readMaybe) | ||
51 | import System.IO | ||
52 | 40 | ||
53 | import ControlMaybe | 41 | import ControlMaybe |
54 | import LockedChan (LockedChan) | 42 | import LockedChan (LockedChan) |
@@ -61,7 +49,7 @@ import ConsoleWriter | |||
61 | import ClientState | 49 | import ClientState |
62 | import Util | 50 | import Util |
63 | import qualified Connection | 51 | import qualified Connection |
64 | import Network.Tox.NodeId (id2key,key2id) | 52 | import Network.Tox.NodeId (key2id) |
65 | import Crypto.Tox (decodeSecret) | 53 | import Crypto.Tox (decodeSecret) |
66 | import DPut | 54 | import DPut |
67 | 55 | ||