On Sat, 28 Apr 2018, Otto Moerbeek wrote:
> On Fri, Apr 27, 2018 at 09:12:36PM -0400, Rupert Gallagher wrote:
> 
> > The lack of information originates from "mountd -d". When it terminates 
> > because of an error, it should log the name of the last function and its 
> > parameters.
> 
> Wrap your lines.
> 
> Well, ktrace does that for system calls. What I'm seeing is that a
> socket is closed and mountd tries to write to it and then gets
> SIGPIPE because of that. But I do not know yet what's cause and effect.

Well, since it's handling TCP connections mountd should be ignoring 
SIGPIPE, no?

Index: mountd.c
===================================================================
RCS file: /data/src/openbsd/src/sbin/mountd/mountd.c,v
retrieving revision 1.85
diff -u -p -r1.85 mountd.c
--- mountd.c    23 Dec 2015 21:32:52 -0000      1.85
+++ mountd.c    28 Apr 2018 08:39:46 -0000
@@ -295,6 +295,7 @@ main(int argc, char *argv[])
 
        signal(SIGCHLD, (void (*)(int)) check_child);
        signal(SIGHUP, (void (*)(int)) new_exportlist);
+       signal(SIGPIPE, SIG_IGN);
 
        if (socketpair(AF_UNIX, SOCK_STREAM, PF_UNSPEC, socks) == -1) {
                syslog(LOG_ERR, "socketpair: %m");

Reply via email to