diff options
Diffstat (limited to 'meta/recipes-devtools/rpm/rpm/rpmdb-prevent-race-in-tmpdir-creation.patch')
-rw-r--r-- | meta/recipes-devtools/rpm/rpm/rpmdb-prevent-race-in-tmpdir-creation.patch | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/meta/recipes-devtools/rpm/rpm/rpmdb-prevent-race-in-tmpdir-creation.patch b/meta/recipes-devtools/rpm/rpm/rpmdb-prevent-race-in-tmpdir-creation.patch deleted file mode 100644 index f483f3ad90..0000000000 --- a/meta/recipes-devtools/rpm/rpm/rpmdb-prevent-race-in-tmpdir-creation.patch +++ /dev/null @@ -1,41 +0,0 @@ -rpmdb: prevent race in tmpdir creation - -If two (or more) instances of rpm are running at the same time they may -be trying to create the same (base-)temporary directory at the same time -which causes the other mkdir to fail with EEXIST. This patch prevents a -failure caused by this race by ignoring EEXIST error on directory -creation. - -Upstream-Status: Pending - -Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> - -diff --git a/rpmdb/signature.c b/rpmdb/signature.c -index dce6c4e..100204b 100644 ---- a/rpmdb/signature.c -+++ b/rpmdb/signature.c -@@ -37,6 +37,7 @@ int rpmTempFile(const char * prefix, const char ** fnptr, void * fdptr) - int temput; - FD_t fd = NULL; - unsigned int ran; -+ int ret = 0; - - if (!prefix) prefix = ""; - -@@ -44,8 +45,11 @@ int rpmTempFile(const char * prefix, const char ** fnptr, void * fdptr) - if (!_initialized) { - _initialized = 1; - tempfn = rpmGenPath(prefix, tpmacro, NULL); -- if (rpmioMkpath(tempfn, 0755, (uid_t) -1, (gid_t) -1)) -- goto errxit; -+ ret = rpmioMkpath(tempfn, 0755, (uid_t) -1, (gid_t) -1); -+ if (ret && ret != EEXIST) { -+ rpmlog(RPMLOG_ERR, _("error creating temporary directory %s: %d\n"), tempfn, ret); -+ goto errxit; -+ } - } - - /* XXX should probably use mkstemp here */ --- -2.6.6 - |