summaryrefslogtreecommitdiff
path: root/server/server/config.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'server/server/config.cpp')
-rwxr-xr-xserver/server/config.cpp24
1 files changed, 17 insertions, 7 deletions
diff --git a/server/server/config.cpp b/server/server/config.cpp
index 3c7a679..890c369 100755
--- a/server/server/config.cpp
+++ b/server/server/config.cpp
@@ -1,5 +1,7 @@
#include "headers.h"
+extern logtofile *logger;
+
void reload_config_thread_func(config *cfg, boost::mutex *m)
{
while(!boost::this_thread::interruption_requested())
@@ -7,30 +9,38 @@ void reload_config_thread_func(config *cfg, boost::mutex *m)
boost::this_thread::sleep(boost::posix_time::seconds(cfg->config_reload_interval()));
if(boost::this_thread::interruption_requested())
return;
+ m->lock();
cfg->load_vars();
cfg->load_cvars();
- m->lock();
cfg->load_proxy_list();
cfg->load_static_proxy_list();
- m->unlock();
cfg->load_firewall_list();
cfg->load_deleted_list();
cfg->load_upload_list();
cfg->load_servers_list();
+ m->unlock();
}
}
-void speed_test_thread_func(int check_interval, std::list<config::proxy_entry>* proxy_list, std::list<config::static_proxy_entry> *static_proxy_list, const std::string& test_url, boost::mutex *m)
+void speed_test_thread_func(config *cfg, int check_interval, std::list<config::proxy_entry>* proxy_list, std::list<config::static_proxy_entry> *static_proxy_list, const std::string& test_url, boost::mutex *m)
{
while(!boost::this_thread::interruption_requested())
{
m->lock();
-// logtofile *l = new logtofile(std::string(boost::filesystem::initial_path().string() + "/proxy_test_info").c_str());
for(std::list<config::static_proxy_entry>::iterator i = static_proxy_list->begin(), end = static_proxy_list->end(); i != end; ++i)
{
speedtest t(test_url);
-// *l<<i->host<<" "<<(int)t.test(&(*i))<<"\n";
- t.test(&(*i));
+ int sp = (int)t.test(&(*i));
+ if(cfg->debug())
+ {
+ char port[10];
+ snprintf(port, 9, "%d", i->port);
+ while(!logger)
+ boost::this_thread::sleep(boost::posix_time::milliseconds(200));
+ logger->lock();
+ *logger << time_str() << ": "<<i->host<<":"<<port<<"\tspeed: "<<sp<<"b/s\n";
+ logger->unlock();
+ }
boost::this_thread::sleep(boost::posix_time::seconds(1));
}
/* for(std::list<config::proxy_entry>::iterator i = proxy_list->begin(), end = proxy_list->end(); i != end; ++i)
@@ -120,7 +130,7 @@ config::config(const char *pth): cfg_reload_thr(NULL), speed_test_thr(NULL)
load_upload_list();
load_servers_list();
cfg_reload_thr = new boost::thread(boost::bind(reload_config_thread_func, this, &lists_mutex));
- speed_test_thr = new boost::thread(boost::bind(speed_test_thread_func, vars.proxy_check_interval, &proxy_list, &static_proxy_list, vars.speed_test_file_url, &lists_mutex));
+ speed_test_thr = new boost::thread(boost::bind(speed_test_thread_func, this, vars.proxy_check_interval, &proxy_list, &static_proxy_list, vars.speed_test_file_url, &lists_mutex));
}
const int config::get_int(const std::string& data, const char* var, int default_)
{