lib/repo: Don't delete new tmpdir if it can't be locked
If a newly allocated tmpdir can't be locked, set initialized to FALSE so that glnx_tmpdir_cleanup doesn't delete it when new_tmpdir goes out of scope. Closes: #1346 Approved by: cgwalters
This commit is contained in:
parent
bf85f8d89e
commit
162edf71ed
|
|
@ -5004,7 +5004,16 @@ _ostree_repo_allocate_tmpdir (int tmpdir_dfd,
|
|||
error))
|
||||
return FALSE;
|
||||
if (!did_lock)
|
||||
continue;
|
||||
{
|
||||
/* We raced and someone else already locked the newly created
|
||||
* directory. Free the resources here and then mark it as
|
||||
* uninitialized so glnx_tmpdir_cleanup doesn't delete the directory
|
||||
* when new_tmpdir goes out of scope.
|
||||
*/
|
||||
glnx_tmpdir_unset (&new_tmpdir);
|
||||
new_tmpdir.initialized = FALSE;
|
||||
continue;
|
||||
}
|
||||
|
||||
g_debug ("Using new tmpdir %s", new_tmpdir.path);
|
||||
ret_tmpdir = new_tmpdir; /* Transfer ownership */
|
||||
|
|
|
|||
Loading…
Reference in New Issue