diff --git a/programs/services/rpc.c b/programs/services/rpc.c index dd44965142c..0b194cf2dcb 100644 --- a/programs/services/rpc.c +++ b/programs/services/rpc.c @@ -114,7 +114,7 @@ static void run_after_timeout(void (*func)(struct service_entry*), struct servic return; } - service->ref_count++; + InterlockedIncrement(&service->ref_count); elem->func = func; elem->service_entry = service; diff --git a/programs/services/services.c b/programs/services/services.c index 53a38464b91..8489f17f8a5 100644 --- a/programs/services/services.c +++ b/programs/services/services.c @@ -299,7 +299,7 @@ static void scmdatabase_autostart_services(struct scmdatabase *db) services_list = slist_new; } services_list[i] = service; - service->ref_count++; + InterlockedIncrement(&service->ref_count); i++; } }