Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:coolo:alp:hostos:Staging:A
rpm
dbrointerruptable.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File dbrointerruptable.diff of Package rpm
--- lib/rpmdb.c.orig 2020-05-28 10:04:25.037136686 +0000 +++ lib/rpmdb.c 2020-09-30 12:23:50.708547165 +0000 @@ -387,9 +387,11 @@ int rpmdbClose(rpmdb db) { rpmdb * prev, next; int rc = 0; + int dbmode; if (db == NULL) goto exit; + dbmode = db->db_mode; prev = &rpmdbRock; while ((next = *prev) != NULL && next != db) @@ -423,7 +425,7 @@ int rpmdbClose(rpmdb db) db = _free(db); - if (rpmdbRock == NULL) { + if (rpmdbRock == NULL && (dbmode & (O_RDWR|O_WRONLY)) != 0) { rpmsqActivate(0); } exit: @@ -510,7 +512,7 @@ static int openDatabase(const char * pre int justPkgs = (db->db_flags & RPMDB_FLAG_REBUILD) && ((db->db_mode & O_ACCMODE) == O_RDONLY); /* Enable signal queue on the first db open */ - if (db->db_next == NULL) { + if (db->db_next == NULL && (db->db_mode & (O_RDWR|O_WRONLY)) != 0) { rpmsqActivate(1); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor