From 5ef251961b0b08f9f147b49f97e2ccf793ceeaa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Rosen?= Date: Tue, 19 Dec 2006 22:59:29 +0000 Subject: [PATCH] campaignd : make number of thread used a CLI parameter --- changelog | 2 ++ src/campaign_server/campaign_server.cpp | 15 ++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/changelog b/changelog index 77e4e65e45a..bb5f06626c6 100644 --- a/changelog +++ b/changelog @@ -123,6 +123,8 @@ Version 1.3-svn: * --validcache runtime switch to force assumption that cache is valid * add two new debug command set_var and show_var to check variables within the game easily + * Campaignd + * first argument is number of threads to use, defaults to 5 * Python AI * Added various input validations * Set Python errors upon error diff --git a/src/campaign_server/campaign_server.cpp b/src/campaign_server/campaign_server.cpp index 2a82eed9173..a69990b410e 100644 --- a/src/campaign_server/campaign_server.cpp +++ b/src/campaign_server/campaign_server.cpp @@ -46,7 +46,7 @@ namespace { class campaign_server { public: - explicit campaign_server(const std::string& cfgfile); + explicit campaign_server(const std::string& cfgfile,unsigned int nthread = 10); void run(); private: int load_config(); // return the server port @@ -66,8 +66,8 @@ namespace { return lexical_cast_default(cfg_["port"], 15003); } - campaign_server::campaign_server(const std::string& cfgfile) - : file_(cfgfile), net_manager_(5), server_manager_(load_config()) + campaign_server::campaign_server(const std::string& cfgfile,unsigned int nthread) + : file_(cfgfile), net_manager_(nthread), server_manager_(load_config()) { if(cfg_.child("campaigns") == NULL) { cfg_.add_child("campaigns"); @@ -407,11 +407,16 @@ namespace { } -int main(int, char**) +int main(int argc, char**argv) { lg::timestamps(true); try { - campaign_server("server.cfg").run(); + printf("argc %d argv[0] %s 1 %s\n",argc,argv[0],argv[1]); + if(argc >= 2 && atoi(argv[1])){ + campaign_server("server.cfg",atoi(argv[1])).run(); + }else { + campaign_server("server.cfg").run(); + } } catch(config::error& e) { std::cerr << "Could not parse config file\n"; } catch(io_exception& e) {