Commit Graph

172 Commits

Author SHA1 Message Date
Zebediah Figura 6060d2703c ntdll: Use a critical section to ensure that RtlWaitOnAddress compares and queues atomically.
Currently a wake may occur between calling compare_addr() and performing the
select request; in that case the thread will never be woken. Prevent this by
taking a CS around both operations.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46099
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 16:13:10 +01:00
Zebediah Figura 0ea963a406 ntdll: Call the select request directly in RtlWaitOnAddress().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 16:13:10 +01:00
Zebediah Figura e09248d363 ntdll: Don't write more IOCP entries than requested.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45948
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 10:17:48 +01:00
Zebediah Figura fbde01335f ntdll: Only wait on the completion port if no entries were returned.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 10:17:48 +01:00
Alexandre Julliard a0050be13f ntdll: Use the default keyed event when the handle is null.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-26 12:45:45 +02:00
Daniel Lehman 25acfbb40b ntdll: Implement RtlWaitOnAddress functions.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-26 11:16:54 +02:00
Zebediah Figura ef2471ec0f ntdll: Implement NtRemoveIoCompletionEx().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-01 19:12:20 -07:00
Alexandre Julliard be40b01c37 server: Align object attributes to a DWORD-boundary.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 12:59:32 +02:00
Jonathan Doron fbf2631dcb ntdll: Apply owner and group regardless of the SE_OWNER_DEFAULTED or SE_GROUP_DEFAULTED flags.
Signed-off-by: Jonathan Doron <jond@wizery.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-13 08:41:29 +02:00
Michael Müller 62ae2ae1a1 ntdll: Add stub for JobObjectBasicAccountingInformation and JobObjectBasicProcessIdList.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 11:09:46 +02:00
Nikolay Sivov 7de025c970 ntdll: Fix its vs it's typos.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-01 20:57:23 -05:00
Daniel Lehman 4c89d567f6 ntdll: Remove stub from trace.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-05 17:18:32 +09:00
Daniel Lehman ad83e2cd57 ntdll: Add trace for NtQueryEvent/Semaphore.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-04 01:03:27 +09:00
Daniel Lehman 7950562e9e ntdll: Fix prev_count from NtReleaseMutant.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-04 01:03:27 +09:00
Daniel Lehman 142730ea66 ntdll: Add NtQueryMutant.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-04 01:03:26 +09:00
Nikolay Sivov ce093a2acf ntdll: Remove redundant NULL check (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-06 12:26:18 +09:00
Alexandre Julliard 6fe37f35bf ntdll: Add tests for the length of the object attributes structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-30 00:30:25 +09:00
Alexandre Julliard fe0924625f ntdll: Add a helper to validate attributes in open calls, and use a common pattern in all calls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 21:25:11 +09:00
Alexandre Julliard b3064d748b server: Implement NtOpenJobObject.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 16:38:53 +09:00
Alexandre Julliard 8b2ba27c86 ntdll: Add tests for kernel object names in the various open functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 00:41:30 +09:00
Alexandre Julliard cd6e9c38e4 server: Fix constraints on the length of NT object names.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-19 20:48:08 +09:00
Alexandre Julliard 1eb69be36f server: Pass full object attributes in the create_completion request.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-18 00:17:30 +09:00
Alexandre Julliard b5245a15a8 server: Pass full object attributes in the create_timer request.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-18 00:17:30 +09:00
Alexandre Julliard 4c763a41ee server: Allow the object attributes to be omitted in requests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-16 00:05:57 +09:00
Alexandre Julliard 7350682aa6 server: Store the attributes in the object_attributes structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-16 00:05:57 +09:00
Alexandre Julliard 3198fb0c1c ntdll: Add a helper function to allocate the full object_attributes structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-16 00:05:57 +09:00
Michael Müller 75c9da68e2 ntdll: Use helper function for NtWaitForMultipleObjects and NtWaitForSingleObject. 2015-08-24 18:41:34 +09:00
Sebastian Lackner 1050988997 ntdll: Improve stub for NtQueryInformationJobObject. 2015-07-31 12:08:09 +02:00
Andrew Cook 1d359a5827 server: Implement TerminateJobObject. 2015-04-07 23:15:47 +09:00
Andrew Cook 4113fd875c ntdll: Return success for JobObjectBasicUIRestrictions. 2015-04-06 16:06:25 +09:00
Andrew Cook 47ffeaee74 server: Implement io completion messages for job objects. 2015-04-03 00:33:29 +09:00
Andrew Cook ecd41d1de7 server: Implement job limit flags. 2015-04-03 00:33:29 +09:00
Andrew Cook 3affd63b34 server: Implement IsProcessInJob. 2015-04-01 22:34:19 +09:00
Andrew Cook 98132f0364 server: Implement AssignProcessToJobObject. 2015-04-01 22:34:18 +09:00
Andrew Cook 0e78b0248d server: Implement CreateJobObject. 2015-04-01 17:05:44 +09:00
Francois Gouget ca1545cf17 ntdll: Remove unneeded NONAMELESSXXX directives. 2015-03-16 15:04:50 +09:00
Nikolay Sivov 7b7d8374a4 ntdll: NtWaitForMultipleObjects()'s third arguments means 'wait_any', not 'wait_all'. 2014-09-01 13:03:07 +02:00
Frédéric Delanoy 0f2bed51bd Assorted spelling fixes. 2014-02-10 15:47:29 +01:00
Sebastian Lackner fad29fc5d9 ntdll: Implement RtlSleepConditionVariableSRW. 2014-01-27 14:13:48 +01:00
Sebastian Lackner 899fc8d4ee ntdll: Implement RtlTryAcquireSRWLockShared/Exclusive commands. 2014-01-27 14:13:45 +01:00
Sebastian Lackner 8ca96a9de0 ntdll: Throw STATUS_RESOURCE_NOT_OWNED when it's impossible to acquire/release the SRWLock. 2014-01-27 14:13:44 +01:00
Sebastian Lackner 31a283d4da ntdll: Implement SRWLock functions using keyed events. 2014-01-17 11:26:38 +01:00
Frédéric Delanoy acf22e83f6 ntdll: Avoid TRUE:FALSE conditional expressions. 2014-01-13 17:37:04 +01:00
Sebastian Lackner 5472b9f9ca ntdll: Implement condition variable functions using keyed events. 2014-01-08 14:34:14 +01:00
Dmitry Timoshkov bfb4f28dc5 ntdll: Implement NtQuerySemaphore/SemaphoreBasicInformation. 2013-12-26 16:51:07 +01:00
Alexandre Julliard 4af4df5af3 ntdll: Add stubs for the SRW lock functions. 2013-09-03 16:58:19 +02:00
Alexandre Julliard fcb3e60332 ntdll: Implement the RunOnce functions. 2013-08-28 22:27:31 +02:00
Alexandre Julliard 93fbb12e65 server: Implement waiting on keyed events. 2013-08-28 11:03:38 +02:00
Alexandre Julliard 5c0b5f4dcb ntdll: Move the select and APC support to server.c. 2013-08-26 20:36:56 +02:00
Alexandre Julliard a56ffb6326 ntdll: Rename NTDLL_wait_for_multiple_objects to server_select since it's more generic now. 2013-08-26 20:36:22 +02:00