grep: Update from 2.26 to 2.27
This commit is contained in:
parent
1a8a9ddd9b
commit
8e9487d8af
@ -1,5 +1,5 @@
|
|||||||
TERMUX_PKG_HOMEPAGE=http://www.gnu.org/software/grep/
|
TERMUX_PKG_HOMEPAGE=https://www.gnu.org/software/grep/
|
||||||
TERMUX_PKG_DESCRIPTION="Command which searches one or more input files for lines containing a match to a specified pattern"
|
TERMUX_PKG_DESCRIPTION="Command which searches one or more input files for lines containing a match to a specified pattern"
|
||||||
TERMUX_PKG_DEPENDS="pcre"
|
TERMUX_PKG_DEPENDS="pcre"
|
||||||
TERMUX_PKG_VERSION=2.26
|
TERMUX_PKG_VERSION=2.27
|
||||||
TERMUX_PKG_SRCURL=https://mirrors.kernel.org/gnu/grep/grep-${TERMUX_PKG_VERSION}.tar.xz
|
TERMUX_PKG_SRCURL=https://mirrors.kernel.org/gnu/grep/grep-${TERMUX_PKG_VERSION}.tar.xz
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
When writing to a closed pipe, which happens with simple
|
|
||||||
|
|
||||||
seq 99999 | grep -v xxx | head -1
|
|
||||||
|
|
||||||
the write() function will return an EPIPE error. The kernel also sends
|
|
||||||
SIGPIPE to the process, which by default kills it.
|
|
||||||
|
|
||||||
As the signal delivery is not immediate, grep may see EPIPE and report
|
|
||||||
it as an error, which is annoying, especially on Android where this
|
|
||||||
timing issue is encountered a lot more.
|
|
||||||
|
|
||||||
See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23267 where it has
|
|
||||||
been suggested to silently ignore EPIPE. That was in the context of
|
|
||||||
SIGPIPE being ignored, but this should probably also been done to
|
|
||||||
avoid timing issues. Feedback has been sent to the above issue and
|
|
||||||
is awaiting mailing list approval.
|
|
||||||
|
|
||||||
diff -u -r ../grep-2.25/src/grep.c ./src/grep.c
|
|
||||||
--- ../grep-2.25/src/grep.c 2016-04-02 20:45:51.000000000 -0400
|
|
||||||
+++ ./src/grep.c 2016-04-23 06:41:54.419351897 -0400
|
|
||||||
@@ -1234,8 +1234,13 @@
|
|
||||||
if (line_buffered)
|
|
||||||
fflush_errno ();
|
|
||||||
|
|
||||||
- if (stdout_errno)
|
|
||||||
- error (EXIT_TROUBLE, stdout_errno, _("write error"));
|
|
||||||
+ if (stdout_errno) {
|
|
||||||
+ if (stdout_errno == EPIPE) {
|
|
||||||
+ exit (EXIT_SUCCESS);
|
|
||||||
+ } else {
|
|
||||||
+ error (EXIT_TROUBLE, stdout_errno, _("write error"));
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
|
|
||||||
lastout = lim;
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user