https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=297638
--- Comment #5 from Markus Wild <[email protected]> ---
(In reply to Benjamin Jacobs from comment #4)
Your example seems somewhat contrived.. my experience is: "normal" utilities
(I'm excluding shells from this) do not have special handling for SIGPIPE,
they'll just do the default action, which is to terminate quietly, and I'm
completely fine with this, it's what I expect. If I need to check specifically,
I can (like you showed), but I don't have to. ldd behaves differently, and I
find that weird.
I don't think it's irrelevant that ldd forks, I think it's the cause of the
problem. Neither rtld nor ldd set a signal handler for SIGPIPE, so they don't
really plan to take a non-standard action. ldd forks to reuse rtld or dlopen
code base with some magic tracing environment variables set, and it then
interprets the exit status of the child in the parent. I'd be happy if the
parent just sent itself the same signal it detected from the child, so the
shell (or whatever started ldd) can take whatever action (or none) on that,
just like with any other tool that doesn't fork.
Sure I can work around the oddity, but I think I shouldn't have to.
--
You are receiving this mail because:
You are the assignee for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.