summaryrefslogtreecommitdiff
path: root/core/modules.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2010-10-30 04:58:50 +0300
committerGluzskiy Alexandr <sss123next@list.ru>2010-10-30 04:58:50 +0300
commit735fefae8bdfa3845493d15e87a7c31a454f8662 (patch)
tree5bd687b68a2a1a0e5da2ec11ab6cb2a2caa04fde /core/modules.cpp
parente19cc122081ce2a9c5e7f338fcba5c13066227ca (diff)
modified: core/modules.cpp
Diffstat (limited to 'core/modules.cpp')
-rw-r--r--core/modules.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/core/modules.cpp b/core/modules.cpp
index 5b5186b..0246b40 100644
--- a/core/modules.cpp
+++ b/core/modules.cpp
@@ -58,8 +58,13 @@ void run_plugins()
std::list<plugin*>::iterator end = plugins.end();
for(std::list<plugin*>::iterator i = plugins.begin(); i != end; ++i)
{
- (*i)->get_exported_functions()->Load(&pluglink);
- (*i)->get_exported_functions()->OnModulesLoaded();
+ boost::thread *thr;
+ thr = new boost::thread(boost::bind((*i)->get_exported_functions()->Load, &pluglink));
+ thr->timed_join(boost::posix_time::seconds(10));
+ delete thr;
+ thr = new boost::thread(boost::bind((*i)->get_exported_functions()->OnModulesLoaded));
+ thr->timed_join(boost::posix_time::seconds(15));
+ delete thr;
}
}
}