diff options
author | rabite <rabite@posteo.de> | 2020-02-14 18:44:54 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2020-02-14 23:41:40 +0100 |
commit | d143de245a4deebabbdad49f4f69a8c82537b958 (patch) | |
tree | 72e4bda68df3186b8aa316d25ca3a82ab1092158 /src/preview.rs | |
parent | cab23957ce69987aa6d9ef9c87e1603cd901b2e6 (diff) |
kill media-previewer when image is deselected before it's done
Diffstat (limited to 'src/preview.rs')
-rw-r--r-- | src/preview.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/preview.rs b/src/preview.rs index 2f1eebf..b31ee7c 100644 --- a/src/preview.rs +++ b/src/preview.rs @@ -23,6 +23,9 @@ lazy_static! { } fn kill_proc() -> HResult<()> { + // Kill media previewer if it still runs + ImgView::kill_running(); + let mut pid = SUBPROC.lock()?; pid.map(|pid| // Do this in another thread so we can wait on process to exit with SIGHUP @@ -34,9 +37,9 @@ fn kill_proc() -> HResult<()> { // Kill using process group, to clean up all child processes, too let pid = Pid::from_raw(pid as i32); - killpg(pid, Signal::SIGTERM).log(); + killpg(pid, Signal::SIGTERM).ok(); std::thread::sleep(sleep_time); - killpg(pid, Signal::SIGKILL).log(); + killpg(pid, Signal::SIGKILL).ok(); }) ); *pid = None; |