equal
deleted
inserted
replaced
12 import Control.Monad.State.Strict |
12 import Control.Monad.State.Strict |
13 import qualified Data.ByteString.Char8 as B |
13 import qualified Data.ByteString.Char8 as B |
14 import Control.DeepSeq |
14 import Control.DeepSeq |
15 import Data.Unique |
15 import Data.Unique |
16 import Control.Arrow |
16 import Control.Arrow |
|
17 import Control.Exception |
17 ----------------------------- |
18 ----------------------------- |
18 import CoreTypes |
19 import CoreTypes |
19 import Utils |
20 import Utils |
20 import ClientIO |
21 import ClientIO |
21 import ServerState |
22 import ServerState |
413 where |
414 where |
414 st irnc = (length $ allRooms irnc, length $ allClients irnc) |
415 st irnc = (length $ allRooms irnc, length $ allClients irnc) |
415 |
416 |
416 processAction (RestartServer force) = do |
417 processAction (RestartServer force) = do |
417 if force then do |
418 if force then do |
418 return () |
419 io $ throwIO ShutdownException |
419 else |
420 else |
420 processAction $ ModifyServerInfo (\s -> s{restartPending=True}) |
421 processAction $ ModifyServerInfo (\s -> s{restartPending=True}) |