summaryrefslogtreecommitdiff
path: root/main.cpp
diff options
context:
space:
mode:
authorJon Bergli Heier <snakebite@jvnv.net>2010-12-28 18:45:06 +0100
committerJon Bergli Heier <snakebite@jvnv.net>2010-12-28 18:45:06 +0100
commit5fd3fe8704374d9ffc77e61d467e13a587d1aff9 (patch)
treeda97f9c160e4bfb55720912227b9a8e789955d38 /main.cpp
parenta1ba5c60d8660751f2765c8ee2cd69453bcbe5f7 (diff)
Threaded io_service.
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/main.cpp b/main.cpp
index bb165a1..3827607 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,14 +1,25 @@
-#include <iostream>
#include "music.h"
#include "httpd.h"
+#include <iostream>
+#include <vector>
+
+#include <boost/thread.hpp>
+
int main(int argc, char **argv) {
try {
music::init(argv[1]);
boost::asio::io_service io_service;
HTTPServer httpd(io_service);
- io_service.run();
+ std::vector<boost::shared_ptr<boost::thread> > threads;
+ for(std::size_t i = 0; i < 10; 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++) {
+ threads[i]->join();
+ }
} catch(std::exception& e) {
std::cerr << e.what() << std::endl;
}