I've been having a problem when occasionally at a What now? prompt when I use the "send" command the process will get killed with a -9 out of nowhere (this is on MacOS X High Sierra). I finally realized that the same problem is causing the test suite to fail for the dist test, so I decided to track it down.
The short answer is: it's because of closefds(). Specifically, the call in the "sendit()" function in whatnowsbr.c, right before the call to sendsbr(). What is happening is there is a specific descriptor marked as something called the "NETPOLICY" descriptor, and if that is closed your process is killed. I understand why functions like closefds() are used right before exec(), but in this case a fair amonut of stuff happens before exec is called, and it's way before fork() is eventually called as well. The other uses of closefds() are after a fork() occurs, or right before exec() happens (see whom.c). Can anyone think of a reason that for this specific case closefds() should NOT be moved from whatnowbr.c (and send.c) into sendsbr.c, and just in the child process? --Ken -- nmh-workers https://lists.nongnu.org/mailman/listinfo/nmh-workers
