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