From f637408a23fb0c92e56f677ab1793b66f739b14d Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Tue, 12 Jun 2018 21:41:25 +0800 Subject: [PATCH] schedsvc: Retry opening a .job file only in case of sharing violation. And turn loud ERR() into a TRACE() like it is in other places. Signed-off-by: Dmitry Timoshkov Signed-off-by: Alexandre Julliard --- dlls/schedsvc/atsvc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/schedsvc/atsvc.c b/dlls/schedsvc/atsvc.c index f6ea0f0e237..b8adc7279d1 100644 --- a/dlls/schedsvc/atsvc.c +++ b/dlls/schedsvc/atsvc.c @@ -558,7 +558,7 @@ static BOOL load_job(const WCHAR *name, struct job_t *info) if (file == INVALID_HANDLE_VALUE) { TRACE("Failed to open %s, error %u\n", debugstr_w(name), GetLastError()); - if (try++ >= 3) break; + if (GetLastError() != ERROR_SHARING_VIOLATION || try++ >= 3) break; Sleep(100); continue; } @@ -872,9 +872,9 @@ static void update_job_status(struct job_t *job) hfile = CreateFileW(job->name, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, 0); if (hfile != INVALID_HANDLE_VALUE) break; - if (try++ >= 3) + if (GetLastError() != ERROR_SHARING_VIOLATION || try++ >= 3) { - ERR("Failed to update %s, error %u\n", debugstr_w(job->name), GetLastError()); + TRACE("Failed to update %s, error %u\n", debugstr_w(job->name), GetLastError()); return; } Sleep(100);