diff options
Diffstat (limited to 'misc/lv/patches/patch-ab')
-rw-r--r-- | misc/lv/patches/patch-ab | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/misc/lv/patches/patch-ab b/misc/lv/patches/patch-ab new file mode 100644 index 00000000000..7bb41a154dc --- /dev/null +++ b/misc/lv/patches/patch-ab @@ -0,0 +1,46 @@ +$NetBSD: patch-ab,v 1.1 2005/12/03 16:46:32 christos Exp $ + +--- ../src/console.c.orig 2004-01-05 02:27:46.000000000 -0500 ++++ ../src/console.c 2005-12-03 11:37:19.000000000 -0500 +@@ -388,7 +388,22 @@ + signal( SIGINT, InterruptIgnoreHandler ); + #endif /* MSDOS */ + +-#ifdef HAVE_SIGVEC ++#ifdef HAVE_SIGACTION ++ struct sigaction sa; ++ ++ sigemptyset( &sa.sa_mask ); ++# ifndef SA_RESTART ++ sa.sa_flags = 0; ++# else ++ sa.sa_flags = SA_RESTART; ++# endif ++ sa.sa_handler = WindowChangeHandler; ++ (void)sigaction( SIGWINCH, &sa, NULL ); ++ ++ sa.sa_handler = InterruptHandler; ++ (void)sigaction( SIGINT, &sa, NULL ); ++#else ++# ifdef SV_INTERRUPT + struct sigvec sigVec; + + sigVec.sv_handler = WindowChangeHandler; +@@ -400,12 +415,13 @@ + sigVec.sv_mask = sigmask( SIGINT ); + sigVec.sv_flags = SV_INTERRUPT; + sigvec( SIGINT, &sigVec, NULL ); +-#else +-# ifdef SIGWINCH ++# else ++# ifdef SIGWINCH + signal( SIGWINCH, WindowChangeHandler ); +-# endif ++# endif + signal( SIGINT, InterruptHandler ); +-#endif /* HAVE_SIGVEC */ ++# endif /* SV_INTERRUPT */ ++#endif /* HAVE_SIGACTION */ + + #ifdef UNIX + #ifdef HAVE_TERMIOS_H |