--- Begin Message ---
Subject: |
kill() not wrapped with HAVE_WORKING_FORK |
Date: |
Thu, 19 Apr 2018 10:59:44 +0100 |
Hi,
In sdiff.c the use of kill() is guarded in cleanup():
static void
cleanup (int signo __attribute__((unused)))
{
#if HAVE_WORKING_FORK
if (0 < diffpid)
kill (diffpid, SIGPIPE);
#endif
if (tmpname)
unlink (tmpname);
}
However, in checksigs() it isn't. A simple fix to help build
diffutils under mingw (which doesn't have kill()) is:
+--- a/src/sdiff.c
++++ b/src/sdiff.c
+@@ -805,7 +805,9 @@
+
+ /* Yield an exit status indicating that a signal was received. */
+ untrapsig (s);
++#if HAVE_WORKING_FORK
+ kill (getpid (), s);
++#endif
+
+ /* That didn't work, so exit with error status. */
+ exit (EXIT_TROUBLE);
Cheers,
Ross
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug-diffutils] bug#31218: kill() not wrapped with HAVE_WORKING_FORK |
Date: |
Fri, 20 Apr 2018 13:40:52 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 |
On 04/20/2018 06:29 AM, Burton, Ross wrote:
Yep, this compiles on mingw:
Thanks for checking; I installed the attached. Closing the bug report.
0001-sdiff-port-to-mingw.txt
Description: Text document
--- End Message ---