diff options
| author | Kunal Mohan <kunalmohan99@gmail.com> | 2021-04-04 23:09:37 +0530 |
|---|---|---|
| committer | Kunal Mohan <kunalmohan99@gmail.com> | 2021-05-04 20:48:15 +0530 |
| commit | 30d0ec2a40c3c955c301b4b4f978c0ff2b74881e (patch) | |
| tree | 1bbe6f9a389a6bb00fde2c8e7341436dc57011e4 /src | |
| parent | Fix after rebase (diff) | |
| download | sl0ppij-30d0ec2a40c3c955c301b4b4f978c0ff2b74881e.tar.gz sl0ppij-30d0ec2a40c3c955c301b4b4f978c0ff2b74881e.tar.xz sl0ppij-30d0ec2a40c3c955c301b4b4f978c0ff2b74881e.zip | |
fix terminal window resize tests by restricting lifetime of locks
Diffstat (limited to 'src')
| -rw-r--r-- | src/tests/fakes.rs | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/tests/fakes.rs b/src/tests/fakes.rs index 8c608de3..79511743 100644 --- a/src/tests/fakes.rs +++ b/src/tests/fakes.rs @@ -181,8 +181,10 @@ impl ClientOsApi for FakeInputOutput { std::thread::sleep(std::time::Duration::from_millis(200)); } else if command == QUIT && self.sigwinch_event.is_some() { let (lock, cvar) = &*self.should_trigger_sigwinch; - let mut should_trigger_sigwinch = lock.lock().unwrap(); - *should_trigger_sigwinch = true; + { + let mut should_trigger_sigwinch = lock.lock().unwrap(); + *should_trigger_sigwinch = true; + } cvar.notify_one(); ::std::thread::sleep(MIN_TIME_BETWEEN_SNAPSHOTS); // give some time for the app to resize before quitting } else if command == QUIT { @@ -212,9 +214,11 @@ impl ClientOsApi for FakeInputOutput { fn receive_sigwinch(&self, cb: Box<dyn Fn()>) { if self.sigwinch_event.is_some() { let (lock, cvar) = &*self.should_trigger_sigwinch; - let mut should_trigger_sigwinch = lock.lock().unwrap(); - while !*should_trigger_sigwinch { - should_trigger_sigwinch = cvar.wait(should_trigger_sigwinch).unwrap(); + { + let mut should_trigger_sigwinch = lock.lock().unwrap(); + while !*should_trigger_sigwinch { + should_trigger_sigwinch = cvar.wait(should_trigger_sigwinch).unwrap(); + } } cb(); } |
