Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP5:Update
lsvpd
vpdupdate-Delete-vpd.db-when-program-gets-abort...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File vpdupdate-Delete-vpd.db-when-program-gets-aborted.patch of Package lsvpd
From 7c95a52ffcace48dc7878b3014a51ef68232e0ae Mon Sep 17 00:00:00 2001 From: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com> Date: Thu, 31 May 2018 16:11:00 +0530 Subject: [PATCH] vpdupdate: Delete vpd.db when program gets aborted Patch-mainline: v1.7.10 Git-commit: 7c95a52ffcace48dc7878b3014a51ef68232e0ae Currently when vpdupdate program gets aborted the database is in corrupt state, then subsequent lsvpd/lscfg invocation fails as it fails to fetch the items. So fix this issue by removing the database file when we handle the signals in lsvpdsignal handler. Signed-off-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> --- src/internal/updater.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/internal/updater.cpp b/src/internal/updater.cpp index 938a1b2..391a6e6 100644 --- a/src/internal/updater.cpp +++ b/src/internal/updater.cpp @@ -499,6 +499,7 @@ void __lsvpdFini() void lsvpdSighandler(int sig) { + int fp; struct sigaction sigact; switch (sig) { @@ -514,6 +515,15 @@ void lsvpdSighandler(int sig) sigact.sa_handler = SIG_DFL; sigemptyset(&sigact.sa_mask); sigaction(sig, &sigact, NULL); + + /* Remove temporary file */ + unlink((env + "/" + file).c_str()); + fp = open(env.c_str(), O_RDWR); + if (fp >= 0) { + fsync(fp); + close(fp); + } + __lsvpdFini(); raise(sig); break; -- 2.37.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