- Add read1char_signals.patch to fix workers/36373

OBS-URL: https://build.opensuse.org/package/show/shells/zsh?expand=0&rev=160
This commit is contained in:
Ismail Dönmez 2015-09-01 19:00:44 +00:00 committed by Git OBS Bridge
parent 3cf261b89e
commit 6503091609
3 changed files with 35 additions and 0 deletions

28
read1char_signals.patch Normal file
View File

@ -0,0 +1,28 @@
commit 3747f6b6ab20ac9082909dd0cb3376e4e35f2c6c
Author: Barton E. Schaefer <schaefer@zsh.org>
Date: Tue Sep 1 11:26:06 2015 -0700
36376: handle signals during read1char() so it is possible to interrupt correct/correctall prompts
diff --git a/Src/utils.c b/Src/utils.c
index 4c4dc55..90f7c33 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -2538,11 +2538,16 @@ static int
read1char(int echo)
{
char c;
+ int q = queue_signal_level();
+ dont_queue_signals();
while (read(SHTTY, &c, 1) != 1) {
- if (errno != EINTR || errflag || retflag || breaks || contflag)
+ if (errno != EINTR || errflag || retflag || breaks || contflag) {
+ restore_queue_signals(q);
return -1;
+ }
}
+ restore_queue_signals(q);
if (echo)
write_loop(SHTTY, &c, 1);
return STOUC(c);

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Tue Sep 1 18:57:20 UTC 2015 - idonmez@suse.com
- Add read1char_signals.patch to fix workers/36373
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Sep 1 06:36:57 UTC 2015 - idonmez@suse.com Tue Sep 1 06:36:57 UTC 2015 - idonmez@suse.com

View File

@ -39,6 +39,7 @@ Source17: zshprompt.pl
Patch1: trim-unneeded-completions.patch Patch1: trim-unneeded-completions.patch
# PATCH-FIX-OPENSUSE zsh-osc-completion.patch -- Fix openSUSE versions in osc completion # PATCH-FIX-OPENSUSE zsh-osc-completion.patch -- Fix openSUSE versions in osc completion
Patch2: zsh-osc-completion.patch Patch2: zsh-osc-completion.patch
Patch3: read1char_signals.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} %if 0%{?suse_version}
Requires(pre): %{install_info_prereq} Requires(pre): %{install_info_prereq}
@ -98,6 +99,7 @@ This package contains the Zsh manual in html format.
%patch1 -p1 %patch1 -p1
%endif %endif
%patch2 -p1 %patch2 -p1
%patch3 -p1
# Remove executable bit # Remove executable bit
chmod 0644 Etc/changelog2html.pl chmod 0644 Etc/changelog2html.pl