From a91a3f2dce121a179a9371cd0ad1e548cf3d7731 Mon Sep 17 00:00:00 2001 From: Joe Wilm Date: Thu, 29 Dec 2016 21:38:22 -0500 Subject: Fix pty read sometimes not triggering draw There was a lot of complexity around the threadsafe `Flag` type and waking up the event loop. The idea was to prevent unnecessary calls to the glutin window's wakeup_event_loop() method which can be expensive. This complexity made it difficult to get synchronization between the pty reader and the render thread correct. Now, the `dirty` flag on the terminal is also used to prevent spurious wakeups. It is only changed when the mutex is held, so race conditions associated with that flag shouldn't happen. --- src/input.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/input.rs') diff --git a/src/input.rs b/src/input.rs index 84ed86ec..60183098 100644 --- a/src/input.rs +++ b/src/input.rs @@ -49,7 +49,7 @@ pub struct Processor<'a, N: 'a> { pub struct ActionContext<'a, N: 'a> { pub notifier: &'a mut N, - pub terminal: &'a Term, + pub terminal: &'a mut Term, pub selection: &'a mut Selection, pub mouse: &'a mut Mouse, pub size_info: &'a term::SizeInfo, -- cgit v1.2.3-54-g00ecf