From e4d28addf9d617cd569bf86c707b731676af0ebe Mon Sep 17 00:00:00 2001 From: Henry Oswald Date: Wed, 22 Aug 2018 21:32:19 +0100 Subject: [PATCH] change sync to async for lockfile debugging --- app/coffee/LockManager.coffee | 18 ++++++++++-------- test/unit/coffee/LockManagerTests.coffee | 2 ++ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/app/coffee/LockManager.coffee b/app/coffee/LockManager.coffee index 2877d5f..069e26b 100644 --- a/app/coffee/LockManager.coffee +++ b/app/coffee/LockManager.coffee @@ -16,11 +16,13 @@ module.exports = LockManager = stale: @LOCK_STALE Lockfile.lock path, lockOpts, (error) -> return callback new Errors.AlreadyCompilingError("compile in progress") if error?.code is 'EEXIST' - if error? - logger.err error:error, path:path, statLock:fs.lstatSync(path), statDir: fs.lstatSync(path.dirname(path)), "unable to get lock" - return callback(error) - runner (error1, args...) -> - Lockfile.unlock path, (error2) -> - error = error1 or error2 - return callback(error) if error? - callback(null, args...) + fs.lstat path, (err, statLock)-> + fs.lstat Path.dirname(path), (err, statDir)-> + if error? + logger.err error:error, path:path, statLock:statLock, statDir: statDir, "unable to get lock" + return callback(error) + runner (error1, args...) -> + Lockfile.unlock path, (error2) -> + error = error1 or error2 + return callback(error) if error? + callback(null, args...) diff --git a/test/unit/coffee/LockManagerTests.coffee b/test/unit/coffee/LockManagerTests.coffee index 2d0c95a..ab9ce93 100644 --- a/test/unit/coffee/LockManagerTests.coffee +++ b/test/unit/coffee/LockManagerTests.coffee @@ -10,6 +10,8 @@ describe "DockerLockManager", -> @LockManager = SandboxedModule.require modulePath, requires: "settings-sharelatex": {} "logger-sharelatex": @logger = { log: sinon.stub(), error: sinon.stub() } + "fs": + lstat:sinon.stub().callsArgWith(1) "lockfile": @Lockfile = {} @lockFile = "/local/compile/directory/.project-lock"