Commit Graph

162 Commits

Author SHA1 Message Date
Alexandre Julliard 088a787a2c makefiles: Make -mno-cygwin the default.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Francois Gouget 2e6ae16469 mstask/tests: Work around race conditions with the task scheduler process.
When a task is created the process scheduler locks and loads it. This
can cause ITaskScheduler_Delete() to fail with a sharing violation if
it is called at the wrong time. Just retry a bit later when that
happens.

This fixes failures mostly in Wine but also in Windows 10 from time
to time in both task and task_scheduler.

Signed-off-by: Francois Gouget <fgouget@icodeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-21 08:57:00 +02:00
Alexandre Julliard 5d82baf974 winecrt0: Add a default implementation DllRegisterServer()/DllUnregisterServer().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Alexandre Julliard bd6b53740c winecrt0: Add a default implementation for DllCanUnloadNow().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Michael Stefaniuc 5d066f4f7a mstask: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 11:47:49 +01:00
Sven Baars d681deb3e5 mstask/tests: Wait a bit longer for tasks to start and terminate.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-27 19:33:22 +01:00
Alexandre Julliard da15e5cb37 mstask: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 14:41:50 +02:00
Michael Stefaniuc b7f5e4ae5f mstask: Avoid using the comma operator.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-25 10:12:49 +01:00
Sven Baars e4f15a297f mstask: Move memory allocation to avoid a memory leak (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-06 19:57:27 +01:00
Sven Baars 3804b99e72 mstask: Fix some memory leaks on error path (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-06 19:57:27 +01:00
Sven Baars 80b572e8b2 mstask/tests: Fix some memory leaks (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-14 15:32:23 +01:00
Dmitry Timoshkov f1ca1180cc mstask: Avoid an infinite loop.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-27 10:07:00 +02:00
Dmitry Timoshkov 26975bfbef mstask: Use current time as trigger begin time when necessary.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-27 10:06:54 +02:00
Dmitry Timoshkov 14ff4bfefe mstask/tests: Add some tests for workitem data.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-13 22:13:27 +02:00
Dmitry Timoshkov c5d945c9f7 mstask: Implement ITask::GetWorkItemData().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-13 22:13:27 +02:00
Dmitry Timoshkov c00fbb5c0e mstask: Implement ITask::SetWorkItemData().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-13 22:13:27 +02:00
Dmitry Timoshkov 70ca4ecd14 mstask: Retry opening a .job file only in case of sharing violation.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-12 23:48:47 +02:00
Dmitry Timoshkov 74cc9b6741 mstask/tests: Add more tests for IEnumWorkItems interface.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 12:01:20 +02:00
Dmitry Timoshkov 6b56dce13b mstask: Implement IEnumWorkItems::Skip().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 12:01:16 +02:00
Dmitry Timoshkov c84082209a mstask: Implement IEnumWorkItems::Reset().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 12:01:12 +02:00
Dmitry Timoshkov c0dd4f5aee mstask: Implement IEnumWorkItems::Next().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 12:01:07 +02:00
Dmitry Timoshkov 9eca94fc12 mstask: Implement ITask::GetExitCode().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-11 12:00:54 +02:00
Dmitry Timoshkov 5c85a24310 mstask: Retry with a timeout if opening a job file has failed.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-31 20:00:38 +02:00
Dmitry Timoshkov 5f895673df mstask: Implement ITask::GetMostRecentRunTime().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-31 20:00:38 +02:00
Dmitry Timoshkov 8587b4788b mstask: Keep the job file uuid across load/save operations.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-24 12:40:33 +02:00
Dmitry Timoshkov aad4302998 mstask: Avoid an infinite loop in ITask::GetNextRunTime() if weekly trigger runs every week.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-23 09:55:37 +02:00
Dmitry Timoshkov 5a9ed96aec mstask: Implement ITask::GetNextRunTime() for WEEKLY trigger type.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-22 10:24:59 +02:00
Dmitry Timoshkov 2a56402c56 mstask: Add support for event triggers to ITask::GetNextRunTime().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-22 10:24:57 +02:00
Dmitry Timoshkov e14e6bdeed mstask: Handle disabled tasks in ITask::GetNextRunTime().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-22 10:24:52 +02:00
Dmitry Timoshkov 5443f0ee2b mstask: Implement ITask::GetNextRunTime() for DAILY trigger type.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-21 16:22:18 +02:00
Dmitry Timoshkov ac322334fa mstask: Implement ITask::GetNextRunTime() for ONCE trigger type.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-21 16:22:12 +02:00
Dmitry Timoshkov 47f3dd0565 mstask: Implement ITask::GetExitCode().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 12:33:34 +02:00
Dmitry Timoshkov 8622493dd3 mstask: When writing triggers access the trigger data directly to avoid noise in the traces.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 12:33:33 +02:00
Dmitry Timoshkov 1f6a295a73 mstask: Prefer built-in implementation.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-15 12:33:31 +02:00
Dmitry Timoshkov 3b1e5c81f4 mstask: Move trigger management to the ITask implementation.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 12:11:48 +02:00
Dmitry Timoshkov 6dd096c3d1 mstask/tests: Add another set of tests for trigger management.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 12:11:48 +02:00
Dmitry Timoshkov 999922f7f3 mstask: ITaskTrigger::GetTrigger() should fail on NULL input.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 12:11:48 +02:00
Dmitry Timoshkov fa4c707466 mstask: ITaskTrigger::SetTrigger() should fail on NULL input.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 12:11:48 +02:00
Dmitry Timoshkov 340bf9b513 mstask/tests: Make task trigger tests independent.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 12:11:48 +02:00
Dmitry Timoshkov bad78747f6 mstask: Implement ITask::SetFlags().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 12:11:48 +02:00
Dmitry Timoshkov 0ec4e9d216 mstask/tests: Make task tests independent.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 12:11:48 +02:00
Dmitry Timoshkov f3f2eeb88c mstask: Add stdcall to cdecl thunks for AT Service RPC API.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:20:41 +02:00
Dmitry Timoshkov 3310cd5385 mstask/tests: Add some tests for ITask::Run().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:20:41 +02:00
Dmitry Timoshkov 00261db37e mstask: Implement ITask::Terminate().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:20:41 +02:00
Dmitry Timoshkov df0fbd5c18 mstask: Implement ITask::Run().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:20:41 +02:00
Dmitry Timoshkov 87cc8cf3bb mstask: Try opening a file more times when saving a job file.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:20:41 +02:00
Dmitry Timoshkov 6a9e127097 mstask: Write more correct flags and status to the job file.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:20:41 +02:00
Dmitry Timoshkov a652d51e06 mstask: Return SCHED_S_TASK_RUNNING from ITask::GetStatus() if there are running task instances.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:20:41 +02:00
Dmitry Timoshkov 8cfdaa45bb mstask: Implement ITask::GetFlags().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:20:41 +02:00
Dmitry Timoshkov 747cd087a9 mstask: Initialize more task fields from the job file on load.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-11 17:20:41 +02:00