- fix signal blocking/unblocking regression on rpmdb open/close (#739492)
This commit is contained in:
parent
a6258ccd0a
commit
0d72de20ce
54
rpm-4.9.1-rpmdb-signals.patch
Normal file
54
rpm-4.9.1-rpmdb-signals.patch
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
commit 36f6874fcf5222f4553fb5b7782af18c7b6ea92a
|
||||||
|
Author: Panu Matilainen <pmatilai@redhat.com>
|
||||||
|
Date: Fri Apr 15 09:18:15 2011 +0300
|
||||||
|
|
||||||
|
Only muck with signals on first and last db open/close
|
||||||
|
- Signals are per-process global, as long as there are other
|
||||||
|
databases open (or references to the same db) we shouldn't mess
|
||||||
|
with them. Less important on open, but if somebody is changing
|
||||||
|
rpmsq-handling we shouldn't override that either.
|
||||||
|
(cherry picked from commit dcf650f5a73846773c7b81de08e2608391f733b8)
|
||||||
|
|
||||||
|
diff --git a/lib/rpmdb.c b/lib/rpmdb.c
|
||||||
|
index 50bb6b1..44cdb2b 100644
|
||||||
|
--- a/lib/rpmdb.c
|
||||||
|
+++ b/lib/rpmdb.c
|
||||||
|
@@ -661,12 +661,14 @@ int rpmdbClose(rpmdb db)
|
||||||
|
|
||||||
|
db = _free(db);
|
||||||
|
|
||||||
|
+ if (rpmdbRock == NULL) {
|
||||||
|
+ (void) rpmsqEnable(-SIGHUP, NULL);
|
||||||
|
+ (void) rpmsqEnable(-SIGINT, NULL);
|
||||||
|
+ (void) rpmsqEnable(-SIGTERM, NULL);
|
||||||
|
+ (void) rpmsqEnable(-SIGQUIT, NULL);
|
||||||
|
+ (void) rpmsqEnable(-SIGPIPE, NULL);
|
||||||
|
+ }
|
||||||
|
exit:
|
||||||
|
- (void) rpmsqEnable(-SIGHUP, NULL);
|
||||||
|
- (void) rpmsqEnable(-SIGINT, NULL);
|
||||||
|
- (void) rpmsqEnable(-SIGTERM,NULL);
|
||||||
|
- (void) rpmsqEnable(-SIGQUIT,NULL);
|
||||||
|
- (void) rpmsqEnable(-SIGPIPE,NULL);
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -728,11 +730,13 @@ static int openDatabase(const char * prefix,
|
||||||
|
/* Try to ensure db home exists, error out if we cant even create */
|
||||||
|
rc = rpmioMkpath(rpmdbHome(db), 0755, getuid(), getgid());
|
||||||
|
if (rc == 0) {
|
||||||
|
- (void) rpmsqEnable(SIGHUP, NULL);
|
||||||
|
- (void) rpmsqEnable(SIGINT, NULL);
|
||||||
|
- (void) rpmsqEnable(SIGTERM,NULL);
|
||||||
|
- (void) rpmsqEnable(SIGQUIT,NULL);
|
||||||
|
- (void) rpmsqEnable(SIGPIPE,NULL);
|
||||||
|
+ if (rpmdbRock == NULL) {
|
||||||
|
+ (void) rpmsqEnable(SIGHUP, NULL);
|
||||||
|
+ (void) rpmsqEnable(SIGINT, NULL);
|
||||||
|
+ (void) rpmsqEnable(SIGTERM, NULL);
|
||||||
|
+ (void) rpmsqEnable(SIGQUIT, NULL);
|
||||||
|
+ (void) rpmsqEnable(SIGPIPE, NULL);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
/* Just the primary Packages database opened here */
|
||||||
|
rc = (rpmdbOpenIndex(db, RPMDBI_PACKAGES, db->db_flags) != NULL) ? 0 : -2;
|
8
rpm.spec
8
rpm.spec
@ -21,7 +21,7 @@
|
|||||||
Summary: The RPM package management system
|
Summary: The RPM package management system
|
||||||
Name: rpm
|
Name: rpm
|
||||||
Version: %{rpmver}
|
Version: %{rpmver}
|
||||||
Release: %{?snapver:0.%{snapver}.}2%{?dist}
|
Release: %{?snapver:0.%{snapver}.}3%{?dist}
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
Url: http://www.rpm.org/
|
Url: http://www.rpm.org/
|
||||||
Source0: http://rpm.org/releases/rpm-4.9.x/%{name}-%{srcver}.tar.bz2
|
Source0: http://rpm.org/releases/rpm-4.9.x/%{name}-%{srcver}.tar.bz2
|
||||||
@ -40,6 +40,7 @@ Patch3: rpm-4.8.0-no-man-dirs.patch
|
|||||||
Patch4: rpm-4.8.1-use-gpg2.patch
|
Patch4: rpm-4.8.1-use-gpg2.patch
|
||||||
|
|
||||||
# Patches already in upstream
|
# Patches already in upstream
|
||||||
|
Patch100: rpm-4.9.1-rpmdb-signals.patch
|
||||||
|
|
||||||
# These are not yet upstream
|
# These are not yet upstream
|
||||||
Patch301: rpm-4.6.0-niagara.patch
|
Patch301: rpm-4.6.0-niagara.patch
|
||||||
@ -209,6 +210,8 @@ packages on a system.
|
|||||||
%patch3 -p1 -b .no-man-dirs
|
%patch3 -p1 -b .no-man-dirs
|
||||||
%patch4 -p1 -b .use-gpg2
|
%patch4 -p1 -b .use-gpg2
|
||||||
|
|
||||||
|
%patch100 -p1 -b .rpmdb-signals
|
||||||
|
|
||||||
%patch301 -p1 -b .niagara
|
%patch301 -p1 -b .niagara
|
||||||
%patch302 -p1 -b .geode
|
%patch302 -p1 -b .geode
|
||||||
%patch303 -p1 -b .debuginfo-allnames
|
%patch303 -p1 -b .debuginfo-allnames
|
||||||
@ -426,6 +429,9 @@ exit 0
|
|||||||
%doc COPYING doc/librpm/html/*
|
%doc COPYING doc/librpm/html/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Sep 19 2011 Panu Matilainen <pmatilai@redhat.com> - 4.9.1.1-3
|
||||||
|
- fix signal blocking/unblocking regression on rpmdb open/close (#739492)
|
||||||
|
|
||||||
* Mon Aug 08 2011 Adam Jackson <ajax@redhat.com> 4.9.1.1-2
|
* Mon Aug 08 2011 Adam Jackson <ajax@redhat.com> 4.9.1.1-2
|
||||||
- Add RPM_LD_FLAGS to build environment (#728974)
|
- Add RPM_LD_FLAGS to build environment (#728974)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user