Subject: Re: pkg/32800: wine can't create ~/.wine
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: David Holland <dholland@eecs.harvard.edu>
List: pkgsrc-bugs
Date: 02/12/2006 08:55:02
The following reply was made to PR pkg/32800; it has been noted by GNATS.
From: dholland@eecs.harvard.edu (David Holland)
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: pkg/32800: wine can't create ~/.wine
Date: Sun, 12 Feb 2006 03:52:46 -0500 (EST)
ok, this seems to be part but not all of the fix - with this it takes
only one SIGSEGV and (apparently) hangs looping internally, instead of
looping receiving SIGSEGV. I think it's an improvement, although the
behavior's not overtly different.
(Now ktrace gets
27158 wine PSIG SIGSEGV caught handler=0x7ffdf0d8 mask=():
code=SEGV_MAPERR, addr=0x7c000060, trap=6)
and nothing else until it's killed.)
This patch applies after the already-existing patch-af.
--- dlls/ntdll/signal_i386.c.orig 2006-02-12 02:36:32.000000000 -0500
+++ dlls/ntdll/signal_i386.c 2006-02-12 02:37:23.000000000 -0500
@@ -1242,9 +1242,9 @@
sigaddset( &sig_act.sa_mask, SIGINT );
sigaddset( &sig_act.sa_mask, SIGUSR2 );
-#if defined(linux) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
+#if defined(linux) || (defined(__NetBSD__) && (__NetBSD_Version__ < 200000000)) || defined(__FreeBSD__) || defined(__OpenBSD__)
sig_act.sa_flags = SA_RESTART;
-#elif defined (__svr4__) || defined(_SCO_DS) || defined(__APPLE__)
+#elif defined (__svr4__) || defined(_SCO_DS) || defined(__APPLE__) || (defined(__NetBSD__) && (__NetBSD_Version__ >= 200000000))
sig_act.sa_flags = SA_SIGINFO | SA_RESTART;
#else
sig_act.sa_flags = 0;
--
- David A. Holland / dholland@eecs.harvard.edu