Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:15-SP4
rpm.22634
dbrointerruptable.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File dbrointerruptable.diff of Package rpm.22634
--- ./lib/rpmdb.c.orig 2020-04-28 12:50:11.821399101 +0000 +++ ./lib/rpmdb.c 2021-04-21 12:07:01.388230889 +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) @@ -424,7 +426,7 @@ int rpmdbClose(rpmdb db) db = _free(db); - if (rpmdbRock == NULL) { + if (rpmdbRock == NULL && (dbmode & (O_RDWR|O_WRONLY)) != 0) { rpmsqActivate(0); } exit: @@ -509,7 +511,7 @@ static int openDatabase(const char * pre rc = rpmioMkpath(rpmdbHome(db), 0755, getuid(), getgid()); if (rc == 0) { /* 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