Drop obsolete sigvec support (#1151982)

This commit is contained in:
Akira TAGOH 2014-10-15 16:11:04 +09:00
parent 2837db3f17
commit 7510dcf46b
2 changed files with 80 additions and 1 deletions

74
lv-no-sigvec.patch Normal file
View File

@ -0,0 +1,74 @@
--- ./src/configure.in 2004-01-04 22:35:44.000000000 -0800
+++ ./src/configure.in 2014-10-09 11:14:47.782210631 -0700
@@ -34,7 +34,7 @@ AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys
dnl Checks for typedefs, structures, and compiler characteristics.
dnl Checks for library functions.
-AC_CHECK_FUNCS(sigvec tgetnum setlocale)
+AC_CHECK_FUNCS(sigaction tgetnum setlocale)
AC_FUNC_GETPGRP
AC_PROG_GCC_TRADITIONAL
AC_TYPE_SIGNAL
--- ./src/console.c 2004-01-04 23:27:46.000000000 -0800
+++ ./src/console.c 2014-10-09 11:16:59.627943378 -0700
@@ -158,9 +158,9 @@ private RETSIGTYPE InterruptHandler( int
{
kb_interrupted = TRUE;
-#ifndef HAVE_SIGVEC
+#ifndef HAVE_SIGACTION
signal( SIGINT, InterruptHandler );
-#endif /* HAVE_SIGVEC */
+#endif /* HAVE_SIGACTION */
}
public void ConsoleEnableInterrupt()
@@ -235,9 +235,9 @@ private RETSIGTYPE WindowChangeHandler(
ConsoleGetWindowSize();
-#ifndef HAVE_SIGVEC
+#ifndef HAVE_SIGACTION
signal( SIGWINCH, WindowChangeHandler );
-#endif /* HAVE_SIGVEC */
+#endif /* HAVE_SIGACTION */
}
#endif /* UNIX */
@@ -388,24 +388,24 @@ public void ConsoleSetUp()
signal( SIGINT, InterruptIgnoreHandler );
#endif /* MSDOS */
-#ifdef HAVE_SIGVEC
- struct sigvec sigVec;
+#ifdef HAVE_SIGACTION
+ struct sigaction sa;
- sigVec.sv_handler = WindowChangeHandler;
- sigVec.sv_mask = sigmask( SIGWINCH );
- sigVec.sv_flags = SV_INTERRUPT;
- sigvec( SIGWINCH, &sigVec, NULL );
-
- sigVec.sv_handler = InterruptHandler;
- sigVec.sv_mask = sigmask( SIGINT );
- sigVec.sv_flags = SV_INTERRUPT;
- sigvec( SIGINT, &sigVec, NULL );
+ sa.sa_handler = WindowChangeHandler;
+ sigemptyset( &sa.sa_mask );
+ sa.sa_flags = 0; /* No SA_RESTART means interrupt syscalls. */
+ sigaction( SIGWINCH, &sa, NULL );
+
+ sa.sa_handler = InterruptHandler;
+ sigemptyset( &sa.sa_mask );
+ sa.sa_flags = 0; /* No SA_RESTART means interrupt syscalls. */
+ sigaction( SIGINT, &sa, NULL );
#else
# ifdef SIGWINCH
signal( SIGWINCH, WindowChangeHandler );
# endif
signal( SIGINT, InterruptHandler );
-#endif /* HAVE_SIGVEC */
+#endif /* HAVE_SIGACTION */
#ifdef UNIX
#ifdef HAVE_TERMIOS_H

View File

@ -2,7 +2,7 @@
Name: lv
Version: 4.51
Release: 24%{?dist}
Release: 25%{?dist}
License: GPLv2+
URL: http://www.ff.iij4u.or.jp/~nrt/lv/
BuildRequires: ncurses-devel autoconf
@ -14,6 +14,7 @@ Patch3: lv-+num-option.patch
Patch4: lv-fastio.patch
Patch5: lv-lfs.patch
Patch6: %{name}-aarch64.patch
Patch7: %{name}-no-sigvec.patch
Summary: A Powerful Multilingual File Viewer
Group: Applications/Text
@ -35,6 +36,7 @@ for text decoration.
%patch4 -p1 -b .fastio
%patch5 -p1 -b .lfs
%patch6 -p1 -b .6-aarch64
%patch7 -p1 -b .7-sigvec
%build
cd src
@ -58,6 +60,9 @@ make install bindir=$RPM_BUILD_ROOT%{_bindir} libdir=$RPM_BUILD_ROOT%{_libdir} m
%changelog
* Wed Oct 15 2014 Akira TAGOH <tagoh@redhat.com> - 4.51-25
- Drop obsolete sigvec support (#1151982)
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.51-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild