[PATCH] schedsvc: Reimplement FILE_ACTION_MODIFIED by remove_job()/add_job() sequence as MSDN suggests.

Dmitry Timoshkov dmitry at baikal.ru
Tue May 8 06:13:01 CDT 2018


Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
 dlls/schedsvc/atsvc.c            | 21 ---------------------
 dlls/schedsvc/schedsvc_private.h |  1 -
 dlls/schedsvc/svc_main.c         |  3 ++-
 3 files changed, 2 insertions(+), 23 deletions(-)

diff --git a/dlls/schedsvc/atsvc.c b/dlls/schedsvc/atsvc.c
index 53a18fd682..cb9bc1fe98 100644
--- a/dlls/schedsvc/atsvc.c
+++ b/dlls/schedsvc/atsvc.c
@@ -546,27 +546,6 @@ void remove_job(const WCHAR *name)
     LeaveCriticalSection(&at_job_list_section);
 }
 
-void modify_job(const WCHAR *name)
-{
-    AT_ENUM info;
-
-    if (load_job(name, &info))
-    {
-        struct job_t *job;
-
-        EnterCriticalSection(&at_job_list_section);
-        job = find_job(0, name);
-        if (job)
-        {
-            free_job_info(&job->info);
-            job->info = info;
-        }
-        else
-            free_job_info(&info);
-        LeaveCriticalSection(&at_job_list_section);
-    }
-}
-
 DWORD __cdecl NetrJobAdd(ATSVC_HANDLE server_name, AT_INFO *info, DWORD *jobid)
 {
     WCHAR windir[MAX_PATH];
diff --git a/dlls/schedsvc/schedsvc_private.h b/dlls/schedsvc/schedsvc_private.h
index c0aa188fda..215bba003e 100644
--- a/dlls/schedsvc/schedsvc_private.h
+++ b/dlls/schedsvc/schedsvc_private.h
@@ -25,7 +25,6 @@
 void schedsvc_auto_start(void) DECLSPEC_HIDDEN;
 void add_job(const WCHAR *name) DECLSPEC_HIDDEN;
 void remove_job(const WCHAR *name) DECLSPEC_HIDDEN;
-void modify_job(const WCHAR *name) DECLSPEC_HIDDEN;
 
 static inline WCHAR *heap_strdupW(const WCHAR *src)
 {
diff --git a/dlls/schedsvc/svc_main.c b/dlls/schedsvc/svc_main.c
index 937d1c2b7e..848e4fc105 100644
--- a/dlls/schedsvc/svc_main.c
+++ b/dlls/schedsvc/svc_main.c
@@ -118,7 +118,8 @@ static DWORD WINAPI tasks_monitor_thread(void *arg)
             GetWindowsDirectoryW(path, MAX_PATH);
             lstrcatW(path, tasksW);
             lstrcatW(path, info.data.FileName);
-            modify_job(path);
+            remove_job(info.data.FileName);
+            add_job(info.data.FileName);
             break;
 
         default:
-- 
2.16.3




More information about the wine-devel mailing list