$OpenBSD: patch-src_main_main_c,v 1.4 2012/01/23 10:34:27 dcoppa Exp $

OpenBSD always returns EINVAL when trying to disable an active stack

--- src/main/main.c.orig	Mon Sep 22 00:05:26 2008
+++ src/main/main.c	Mon Jan 23 10:39:04 2012
@@ -28,6 +28,8 @@
 #include <ctype.h>
 #include <stdlib.h>
 #include <string.h>
+#include <errno.h>
+#include <sys/errno.h>
 
 #define __MAIN__
 #include "Defn.h"
@@ -605,7 +607,8 @@ static void init_signal_handlers(void)
 	sigstk.ss_size = SIGSTKSZ + R_USAGE;
 	sigstk.ss_flags = 0;
 	if(sigaltstack(&sigstk, NULL) < 0)
-	    warning("failed to set alternate signal stack");
+	    if (errno != EINVAL) /* OpenBSD always returns EINVAL */
+	    	warning("failed to set alternate signal stack");
     } else
 	warning("failed to allocate alternate signal stack");
     sa.sa_sigaction = sigactionSegv;
