utimens: remove invalid futimesat call
[gnulib.git] / lib / c-stack.c
index e5e3ab6..1dddeef 100644 (file)
@@ -46,9 +46,6 @@
 #define _(msgid) gettext (msgid)
 
 #include <errno.h>
-#ifndef ENOTSUP
-# define ENOTSUP EINVAL
-#endif
 
 #include <signal.h>
 #if ! HAVE_STACK_T && ! defined stack_t
@@ -239,21 +236,21 @@ segv_handler (int signo, siginfo_t *info,
              void *context __attribute__ ((unused)))
 {
   /* Clear SIGNO if it seems to have been a stack overflow.  */
-  if (0 < info->si_code)
-    {
 #  if ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC
-      /* We can't easily determine whether it is a stack overflow; so
-        assume that the rest of our program is perfect (!) and that
-        this segmentation violation is a stack overflow.
-
-        Note that although both Linux and Solaris provide
-        sigaltstack, SA_ONSTACK, and SA_SIGINFO, currently only
-        Solaris satisfies the XSI heueristic.  This is because
-        Solaris populates uc_stack with the details of the
-        interrupted stack, while Linux populates it with the details
-        of the current stack.  */
-      signo = 0;
+  /* We can't easily determine whether it is a stack overflow; so
+     assume that the rest of our program is perfect (!) and that
+     this segmentation violation is a stack overflow.
+
+     Note that although both Linux and Solaris provide
+     sigaltstack, SA_ONSTACK, and SA_SIGINFO, currently only
+     Solaris satisfies the XSI heueristic.  This is because
+     Solaris populates uc_stack with the details of the
+     interrupted stack, while Linux populates it with the details
+     of the current stack.  */
+  signo = 0;
 #  else
+  if (0 < info->si_code)
+    {
       /* If the faulting address is within the stack, or within one
         page of the stack end, assume that it is a stack
         overflow.  */
@@ -278,8 +275,8 @@ segv_handler (int signo, siginfo_t *info,
        write (STDERR_FILENO, buf, strlen (buf));
       }
 #   endif
-#  endif
     }
+#  endif
 
   die (signo);
 }