diff options
-rw-r--r-- | config.cpp | 1 | ||||
-rw-r--r-- | main.cpp | 5 |
2 files changed, 4 insertions, 2 deletions
@@ -11,6 +11,7 @@ void config::init() { desc.add_options() ("audist.music_root", po::value<std::string>(), "music root") ("audist.httpd_port", po::value<int>()->default_value(8000), "httpd port") + ("audist.threads", po::value<std::size_t>()->default_value(10), "threads") ("audist.database", po::value<std::string>(), "database string") ; std::ifstream is("audist.conf", std::ios::in); @@ -20,12 +20,13 @@ int main(int argc, char **argv) { HTTP::Server httpd(io_service, tcp::endpoint(tcp::v6(), config::vm["audist.httpd_port"].as<int>())); + std::size_t num_threads = config::vm["audist.threads"].as<std::size_t>(); std::vector<boost::shared_ptr<boost::thread> > threads; - for(std::size_t i = 0; i < 10; i++) { + for(std::size_t i = 0; i < num_threads; i++) { boost::shared_ptr<boost::thread> thread(new boost::thread(boost::bind(&boost::asio::io_service::run, &io_service))); threads.push_back(thread); } - for(std::size_t i = 0; i < 10; i++) { + for(std::size_t i = 0; i < num_threads; i++) { threads[i]->join(); } } catch(std::exception& e) { |