# HG changeset patch # User unc0rr # Date 1305468973 -14400 # Node ID a5329e52a71b6f94ed9571f4daba3ac7007abd21 # Parent f7a610e2ef5f94d9a93585c3a172dc950e910079 Pass correct arguments on restart diff -r f7a610e2ef5f -r a5329e52a71b gameServer/Actions.hs --- a/gameServer/Actions.hs Sun May 15 18:10:01 2011 +0400 +++ b/gameServer/Actions.hs Sun May 15 18:16:13 2011 +0400 @@ -475,11 +475,12 @@ processAction RestartServer = do sock <- gets (fromJust . serverSocket . serverInfo) + args <- gets (runArgs . serverInfo) io $ do noticeM "Core" "Closing listening socket" sClose sock noticeM "Core" "Spawning new server" - _ <- createProcess (proc "./hedgewars-server" []) + _ <- createProcess (proc "./hedgewars-server" args) return () processAction $ ModifyServerInfo (\s -> s{shutdownPending=True}) diff -r f7a610e2ef5f -r a5329e52a71b gameServer/CoreTypes.hs --- a/gameServer/CoreTypes.hs Sun May 15 18:10:01 2011 +0400 +++ b/gameServer/CoreTypes.hs Sun May 15 18:16:13 2011 +0400 @@ -129,6 +129,7 @@ dbPassword :: B.ByteString, bans :: [BanInfo], shutdownPending :: Bool, + runArgs :: [String], coreChan :: Chan CoreMessage, dbQueries :: Chan DBQuery, serverSocket :: Maybe Socket, @@ -152,6 +153,7 @@ "" [] False + [] data AccountInfo = HasAccount B.ByteString Bool diff -r f7a610e2ef5f -r a5329e52a71b gameServer/Opts.hs --- a/gameServer/Opts.hs Sun May 15 18:10:01 2011 +0400 +++ b/gameServer/Opts.hs Sun May 15 18:16:13 2011 +0400 @@ -34,6 +34,6 @@ getOpts opts = do args <- getArgs case getOpt Permute options args of - (o, [], []) -> return $ foldr ($) opts o + (o, [], []) -> return $ foldr ($) opts{runArgs = args} o (_,_,errs) -> ioError (userError (concat errs ++ usageInfo header options)) where header = "Usage: hedgewars-server [OPTION...]"