On Sat, Apr 28, 2018 at 10:40:01AM +0200, Philip Guenther wrote:

> 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?

Yes, I was pondering that already.

Worth a try (I cannot reproduce, not having Windows 10 Pro),

        -Otto

> 
> 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