projects
/
emacs.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9da0f40
)
Fix 'send-string-to-terminal' writing very long strings
author
Eli Zaretskii
<eliz@gnu.org>
Sat, 7 Nov 2020 09:19:44 +0000
(11:19 +0200)
committer
Eli Zaretskii
<eliz@gnu.org>
Sat, 7 Nov 2020 09:19:44 +0000
(11:19 +0200)
* src/dispnew.c (Fsend_string_to_terminal): Prevent partial writes
by blocking SIGIO while 'fwrite' runs. (Bug#44320)
src/dispnew.c
patch
|
blob
|
history
diff --git
a/src/dispnew.c
b/src/dispnew.c
index 5b6fa51a563f581cd9914f1aa2fffaab4dbddf95..df55b32c718860d1b86181cadd23ac5137fb62a8 100644
(file)
--- a/
src/dispnew.c
+++ b/
src/dispnew.c
@@
-5904,8
+5904,12
@@
when TERMINAL is nil. */)
}
out = tty->output;
}
+ /* STRING might be very long, in which case fwrite could be
+ interrupted by SIGIO. So we temporarily block SIGIO. */
+ unrequest_sigio ();
fwrite (SDATA (string), 1, SBYTES (string), out);
fflush (out);
+ request_sigio ();
unblock_input ();
return Qnil;
}