fix(shell/server): set global ios in info and complete tasks

This commit is contained in:
Gabriel Ebner 2017-03-17 19:13:11 +01:00
parent dfb5dad1a3
commit 5e29fe227e
2 changed files with 6 additions and 4 deletions

View file

@ -516,6 +516,7 @@ void server::handle_complete(cmd_req const & req) {
auto complete_gen_task =
task_builder<json>([=] { return autocomplete(mod_info, skip_completions, pos); })
.wrap(library_scopes(log_tree::node()))
.set_cancellation_token(m_bg_task_ctok)
.build();
@ -574,7 +575,8 @@ void server::handle_info(server::cmd_req const & req) {
auto info_gen_task = task_builder<json>([=] {
return info(mod_info, pos);
}).set_cancellation_token(m_bg_task_ctok).build();
}).wrap(library_scopes(log_tree::node()))
.set_cancellation_token(m_bg_task_ctok).build();
taskq().submit(task_builder<unit>([this, req, info_gen_task] {
try {

View file

@ -333,12 +333,12 @@ log_tree::node & logtree() {
}
}
scope_log_tree::scope_log_tree(log_tree::node const & lt) : m_node(lt), m_scope(&m_node) {
m_node.clear_entries();
scope_log_tree::scope_log_tree(log_tree::node const & lt) : m_node(lt), m_scope(m_node ? &m_node : nullptr) {
if (m_node) m_node.clear_entries();
}
scope_log_tree::~scope_log_tree() {
logtree().finish();
if (m_node) m_node.finish();
}
scope_log_tree::scope_log_tree(std::string const & desc, pos_range const & pos) :