From b29c971d1a2347f5c93ffd113156d8e4d2f9d6aa Mon Sep 17 00:00:00 2001 From: Thijs Stobbelaar Date: Tue, 21 Nov 2023 10:25:55 +0100 Subject: [PATCH 1/2] fix for locking race --- includes/ps1/lockfile.ps1 | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/includes/ps1/lockfile.ps1 b/includes/ps1/lockfile.ps1 index 26ab91a..378fcb7 100644 --- a/includes/ps1/lockfile.ps1 +++ b/includes/ps1/lockfile.ps1 @@ -19,16 +19,22 @@ function new-lock { if (Test-Path -Path $lockFile) { Write-Host "Job is already running. Sleeping 10 seconds" Start-Sleep -Seconds 10 - }else{ - $lock = $false } - if($i -ge $timeout){ + else { + try { + New-Item -ItemType File -Path $lockFile | Out-Null + $lock = $false + } + catch { + $lock = $true + } + } + if ($i -ge $timeout) { Write-Output "Timed out" exit } $i++ } - New-Item -ItemType File -Path $lockFile | Out-Null if ($by) { $by | Out-File -FilePath $lockFile -Append } From eac7a886f574fef88950df360e0a9988fb7bbbd6 Mon Sep 17 00:00:00 2001 From: Thijs Stobbelaar Date: Tue, 21 Nov 2023 10:27:15 +0100 Subject: [PATCH 2/2] logging --- includes/ps1/lockfile.ps1 | 1 + 1 file changed, 1 insertion(+) diff --git a/includes/ps1/lockfile.ps1 b/includes/ps1/lockfile.ps1 index 378fcb7..2e6cc83 100644 --- a/includes/ps1/lockfile.ps1 +++ b/includes/ps1/lockfile.ps1 @@ -26,6 +26,7 @@ function new-lock { $lock = $false } catch { + Write-Output "Unable to create lockfile , resuming lock loop" $lock = $true } }