Bug#52373: Wishlist bug?
At Sun, 5 Jan 2003 18:06:08 +0000,
Colin Watson wrote:
> On Sun, Dec 29, 2002 at 01:32:17AM +0900, GOTO Masanori wrote:
> > At Thu, 26 Dec 2002 22:40:14 -0500,
> > H. S. Teoh <hsteoh@quickfur.ath.cx> wrote:
> > > Should this bug be downgraded to wishlist? The bug submitter did say "it
> > > would be useful if ...". Moreover, according to glibc info docs:
> > >
> > > - Macro: int EPIPE
> > > Broken pipe; there is no process reading from the other end of a
> > > pipe. Every library function that returns this error code also
> > > generates a `SIGPIPE' signal; this signal terminates the program
> > > if not handled or blocked. Thus, your program will never actually
> > > see `EPIPE' unless it has handled or blocked `SIGPIPE'.
> > >
> > > So the two seems to be quite related to each other, and I don't see any
> > > compelling reason to distinguish between error messages generated by
> > > either one. Sounds very much like wishlist to me.
> >
> > I agree.
> >
> > SIGPIPE is one of signals, and EPIPE is one of error numbers. The
> > message "Broken pipe" is the result of SIGPIPE, and its error number.
> > I think there is no merit to distinguish them. Moreover, how to
> > change the message between the two? It's difficult.
>
> For what it's worth, I remember Owen talking about this problem back in
> 1999. He was trying to develop a "guru" locale which simply printed the
> error or signal name - that is, "EPIPE" or "SIGPIPE" - rather than an
> explanatory message. This can't be done correctly when the error
> messages for EPIPE and SIGPIPE are the same, because the gettext msgid
> is keyed on the description, not the error or signal name.
"guru" message seems good idea, but is it _really_ needed?
Is it a real requirement?
> > So I think it's not bug, it's not wishlist item. I close this bug.
>
> I think it's a valid wishlist item and should be reopened as such, even
> if it may be difficult to fix.
I think this patch fixes this wishlist, but I have not tested yet.
--- sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c 2001-07-06 13:56:22.000000000 +0900
+++ sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c.new 2003-01-06 22:37:05.000000000 +0900
@@ -59,7 +59,7 @@
N_("Illegal seek"),
N_("Read-only file system"),
N_("Too many links"),
- N_("Broken pipe"),
+ N_("Broken pipe error"),
N_("Argument out of domain"),
N_("Result too large"),
N_("No message of desired type"),
--- sysdeps/gnu/errlist.c 2002-08-29 08:53:03.000000000 +0900
+++ sysdeps/gnu/errlist.c.new 2003-01-06 22:37:56.000000000 +0900
@@ -348,7 +348,7 @@
TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled
TRANS or blocked. Thus, your program will never actually see @code{EPIPE}
TRANS unless it has handled or blocked @code{SIGPIPE}. */
- [ERR_REMAP (EPIPE)] = N_("Broken pipe"),
+ [ERR_REMAP (EPIPE)] = N_("Broken pipe error"),
# if EPIPE > ERR_MAX
# undef ERR_MAX
# define ERR_MAX EPIPE
Reply to: