rtworkq: Add RtwqSetLongRunning().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
feature/deterministic
Nikolay Sivov 2020-02-06 10:06:04 +03:00 committed by Alexandre Julliard
parent d1897cf96b
commit baeb8c2d45
3 changed files with 23 additions and 1 deletions

View File

@ -1071,3 +1071,24 @@ HRESULT WINAPI RtwqUnlockWorkQueue(DWORD queue)
return unlock_user_queue(queue);
}
HRESULT WINAPI RtwqSetLongRunning(DWORD queue_id, BOOL enable)
{
struct queue *queue;
HRESULT hr;
int i;
TRACE("%#x, %d.\n", queue_id, enable);
lock_user_queue(queue_id);
if (SUCCEEDED(hr = grab_queue(queue_id, &queue)))
{
for (i = 0; i < ARRAY_SIZE(queue->envs); ++i)
queue->envs[i].u.s.LongFunction = !!enable;
}
unlock_user_queue(queue_id);
return hr;
}

View File

@ -27,7 +27,7 @@
@ stdcall RtwqScheduleWorkItem(ptr int64 ptr)
@ stub RtwqSetDeadline
@ stub RtwqSetDeadline2
@ stub RtwqSetLongRunning
@ stdcall RtwqSetLongRunning(long long)
@ stdcall RtwqShutdown()
@ stdcall RtwqStartup()
@ stub RtwqUnjoinWorkQueue

View File

@ -88,6 +88,7 @@ cpp_quote("HRESULT WINAPI RtwqPutWaitingWorkItem(HANDLE event, LONG priority, IR
cpp_quote("HRESULT WINAPI RtwqPutWorkItem(DWORD queue, LONG priority, IRtwqAsyncResult *result);")
cpp_quote("HRESULT WINAPI RtwqRemovePeriodicCallback(DWORD key);")
cpp_quote("HRESULT WINAPI RtwqScheduleWorkItem(IRtwqAsyncResult *result, INT64 timeout, RTWQWORKITEM_KEY *key);")
cpp_quote("HRESULT WINAPI RtwqSetLongRunning(DWORD queue_id, BOOL enable);")
cpp_quote("HRESULT WINAPI RtwqShutdown(void);")
cpp_quote("HRESULT WINAPI RtwqStartup(void);")
cpp_quote("HRESULT WINAPI RtwqUnlockPlatform(void);")