diff options
author | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2018-08-06 13:33:10 +0300 |
---|---|---|
committer | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2019-06-10 19:40:26 +0300 |
commit | 3f35b69ff11b22c9ffc5a73e75d312e8c5b2b680 (patch) | |
tree | 81e6e7c516c104de771410926a185ac5c1e1d994 /src | |
parent | f2a646158dd1284f048c426caa344af340a61624 (diff) |
Poll all parse workers on startup
Diffstat (limited to 'src')
-rw-r--r-- | src/bin.rs | 24 |
1 files changed, 21 insertions, 3 deletions
@@ -59,7 +59,7 @@ fn make_input_thread( sx.send(ThreadEvent::Input(k)); }, || { - sx.send(ThreadEvent::UIEventType(UIEventType::ChangeMode( + sx.send(ThreadEvent::UIEvent(UIEventType::ChangeMode( UIMode::Fork, ))); }, @@ -189,11 +189,29 @@ fn main() { state.redraw(); /* Don't handle this yet. */ }, - ThreadEvent::UIEventType(UIEventType::ChangeMode(f)) => { + ThreadEvent::UIEvent(UIEventType::ChangeMode(f)) => { state.mode = f; break 'inner; // `goto` 'reap loop, and wait on child. } - ThreadEvent::UIEventType(e) => { + ThreadEvent::UIEvent(UIEventType::StartupCheck) => { + let mut flag = false; + for account in &mut state.context.accounts { + let len = account.len(); + for i in 0..len { + match account.status(i) { + Ok(()) => { }, + Err(_) => { + flag |= true; + } + } + } + } + if !flag { + state.finish_startup(); + } + + } + ThreadEvent::UIEvent(e) => { state.rcv_event(UIEvent { id: 0, event_type: e}); state.render(); }, |