Fix race in cleanup of othertmp directory that could result in a failure attempting to access it.
Need to create the directory after the lock is held, not before. The other racing process would need to shut down at just the wrong time, running cleanupOtherTmp. This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
This commit is contained in:
parent
aff2fd33b3
commit
a64fca92f6
2 changed files with 5 additions and 2 deletions
|
@ -27,8 +27,9 @@ withOtherTmp a = do
|
||||||
addCleanup OtherTmpCleanup cleanupOtherTmp
|
addCleanup OtherTmpCleanup cleanupOtherTmp
|
||||||
tmpdir <- fromRepo gitAnnexTmpOtherDir
|
tmpdir <- fromRepo gitAnnexTmpOtherDir
|
||||||
tmplck <- fromRepo gitAnnexTmpOtherLock
|
tmplck <- fromRepo gitAnnexTmpOtherLock
|
||||||
|
withSharedLock (const tmplck) $ do
|
||||||
void $ createAnnexDirectory tmpdir
|
void $ createAnnexDirectory tmpdir
|
||||||
withSharedLock (const tmplck) (a tmpdir)
|
a tmpdir
|
||||||
|
|
||||||
-- | Cleans up any tmp files that were left by a previous
|
-- | Cleans up any tmp files that were left by a previous
|
||||||
-- git-annex process that got interrupted or failed to clean up after
|
-- git-annex process that got interrupted or failed to clean up after
|
||||||
|
|
|
@ -9,6 +9,8 @@ git-annex (7.20190130) UNRELEASED; urgency=medium
|
||||||
before versioning was enabled on it.
|
before versioning was enabled on it.
|
||||||
* Improved speed of S3 remote by only loading S3 creds once.
|
* Improved speed of S3 remote by only loading S3 creds once.
|
||||||
* Display progress bar when getting files from export remotes.
|
* Display progress bar when getting files from export remotes.
|
||||||
|
* Fix race in cleanup of othertmp directory that could result in a failure
|
||||||
|
attempting to access it.
|
||||||
|
|
||||||
-- Joey Hess <id@joeyh.name> Wed, 30 Jan 2019 12:30:22 -0400
|
-- Joey Hess <id@joeyh.name> Wed, 30 Jan 2019 12:30:22 -0400
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue