Flush pending writes before suspend (#10797)
* flush saves before suspending * review suggestion Co-authored-by: Kirawi <67773714+kirawi@users.noreply.github.com> * review changes --------- Co-authored-by: PotatoesFall <martyk@tuta.io> Co-authored-by: Kirawi <67773714+kirawi@users.noreply.github.com>
This commit is contained in:
parent
31bcde360c
commit
c39cde8fc2
1 changed files with 15 additions and 1 deletions
|
@ -142,6 +142,17 @@ impl<'a> Context<'a> {
|
|||
pub fn count(&self) -> usize {
|
||||
self.count.map_or(1, |v| v.get())
|
||||
}
|
||||
|
||||
/// Waits on all pending jobs, and then tries to flush all pending write
|
||||
/// operations for all documents.
|
||||
pub fn block_try_flush_writes(&mut self) -> anyhow::Result<()> {
|
||||
compositor::Context {
|
||||
editor: self.editor,
|
||||
jobs: self.jobs,
|
||||
scroll: None,
|
||||
}
|
||||
.block_try_flush_writes()
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
|
@ -5828,7 +5839,10 @@ fn shell_prompt(cx: &mut Context, prompt: Cow<'static, str>, behavior: ShellBeha
|
|||
|
||||
fn suspend(_cx: &mut Context) {
|
||||
#[cfg(not(windows))]
|
||||
signal_hook::low_level::raise(signal_hook::consts::signal::SIGTSTP).unwrap();
|
||||
{
|
||||
_cx.block_try_flush_writes().ok();
|
||||
signal_hook::low_level::raise(signal_hook::consts::signal::SIGTSTP).unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
fn add_newline_above(cx: &mut Context) {
|
||||
|
|
Loading…
Reference in a new issue