Rémi Bernon
b922b5aeef
kernel32: Write the wait handle before executing the callback.
...
Otherwise we may execute the callback before the value is actually
returned from RegisterWaitForSingleObject.
Gears Tactics shares a pointer to the returned handle with its callbacks
and calls UnregisterWait from there. This creates a race condition that
sometimes causes a double free.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47843
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-11 22:26:36 +01:00
Alexandre Julliard
0c631ebb23
kernel32: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 19:38:42 +02:00
Jacek Caban
99e6bab3ed
kernel32: Import FreeConsole from kernelbase.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-01 20:33:07 +02:00
Alexandre Julliard
f41e205dfc
kernel32: Remove time.c.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-27 00:14:06 +02:00
Alexandre Julliard
e076fff578
kernel32: Use set_ntstatus() in more places.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-26 13:10:34 +02:00
Alexandre Julliard
99027aeaee
kernel32: Move GetNamedPipeHandleStateW() implementation to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-16 22:10:04 +02:00
Alexandre Julliard
eac5395fb4
kernel32: Move some misc functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-26 19:36:10 +02:00
Alexandre Julliard
67a9700267
kernel32: Move memory resource functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-08 22:52:09 +02:00
Alexandre Julliard
c683e7e5a1
kernel32: Move interlocked functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-08 13:23:49 +02:00
Alexandre Julliard
0116660dd8
kernel32: Move thread functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-08 17:53:35 +02:00
Nikolay Sivov
8f1caca469
kernel32: Remove unused functions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-03 10:56:29 +02:00
Alexandre Julliard
aa58676ae0
kernel32: Move wait functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 20:42:42 +02:00
Alexandre Julliard
bc28ed4c6c
kernel32: Move named pipe functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 20:42:42 +02:00
Alexandre Julliard
1834d9e9fe
kernel32: Move I/O completion functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 15:57:16 +02:00
Alexandre Julliard
9585990a46
kernel32: Move condition variable functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 15:57:13 +02:00
Alexandre Julliard
628d4450cd
kernel32: Move file mapping functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 15:57:09 +02:00
Alexandre Julliard
aa7f8e930d
kernel32: Move critical section functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 15:57:06 +02:00
Alexandre Julliard
d33d05ce27
kernel32: Move timer queue functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 15:57:03 +02:00
Alexandre Julliard
8c63d02d5f
kernel32: Move waitable timer functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 15:56:59 +02:00
Alexandre Julliard
591266881c
kernel32: Move semaphore functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 15:56:56 +02:00
Alexandre Julliard
93a5451152
kernel32: Move mutex functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 15:56:53 +02:00
Alexandre Julliard
558e48aafd
kernel32: Move event functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-01 15:56:49 +02:00
Alexandre Julliard
d5a372abbb
include: Move inline assembly definitions to a new wine/asm.h header.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00
Nikolay Sivov
fe0f8a150f
ntdll: Initialize critical section debug info with correct pointer value.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-30 20:08:04 +02:00
Jacek Caban
4fc5aff509
kernel32: Wait on pipe handle in TransactNamedPipe if needed.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 19:00:35 +01:00
Jacek Caban
b114bd07b1
kernel32: Wait on pipe handle in ConnectNamedPipe if needed.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 19:00:35 +01:00
Jacek Caban
ee28e0107c
server: Return STATUS_BUFFER_OVERFLOW in pipe_end_peek for partial reads in message mode.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 09:53:25 +02:00
Zebediah Figura
b79fd400c0
kernel32: Implement GetQueuedCompletionStatusEx().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43878
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-01 19:12:21 -07:00
Gijs Vermeulen
e850369dd8
Revert "kernel32: Add GetQueuedCompletionStatusEx stub.".
...
This partially reverts commit f1be5c7861
.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45891
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-28 15:22:25 +02:00
Gijs Vermeulen
f1be5c7861
kernel32: Add GetQueuedCompletionStatusEx stub.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43878
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:29 +02:00
Jacek Caban
8712db6f55
kernel32: Use proper access flags in CreatePipe.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 10:43:35 +02:00
Michael Stefaniuc
fe70e0e58f
kernel32: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:15:59 +02:00
Hans Leidekker
f297fd800b
kernel32: Add stub implementations of GetNamedPipeClient/ServerSessionId.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-11 16:23:05 +02:00
Hans Leidekker
dedd450689
kernel32: Implement GetNamedPipeClient/ServerProcessId.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-11 16:23:05 +02:00
Jacek Caban
0ca7c5c4e2
kernel32: Reimplement TransactNamedPipe on top of FSCTL_PIPE_TRANSCEIVE.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-29 16:06:03 +02:00
Hans Leidekker
bd7fb5b59e
kernel32: Don't return an error from TransactNamedPipe if an overlapped pointer is passed.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-07 11:02:42 -06:00
Hans Leidekker
7a07a5e34f
kernel32: Return a non-empty username from GetNamedPipeHandleState.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-07 11:02:38 -06:00
Alexandre Julliard
c52e3ff249
kernel32: Move the mapping object functions to sync.c.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-02 10:51:31 +01:00
Alexandre Julliard
808693102e
kernel32: Add a helper function to fill object attributes in Create* functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-02 10:41:12 +01:00
Alexandre Julliard
a7aa192a78
kernel32: Add a helper function to fill object attributes in Open* functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-02 10:40:41 +01:00
Zebediah Figura
d37bfe960f
kernel32: Implement bytes left in PeekNamedPipe().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:46:18 +02:00
Jacek Caban
e44c0f710b
kernel32: Use default buffer size in CreatePipe if 0 was passed.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 22:06:32 +02:00
Sebastian Lackner
c7a9ab82b7
kernel32: NtOpenFile returns STATUS_SUCCESS on success.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 22:24:18 +09:00
Keno Fischer
ccc1d346a6
kernel32: Fix RegisterWaitForSingleObject for console handles.
...
Signed-off-by: Keno Fischer <keno@juliacomputing.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-19 16:14:30 +09:00
Alexandre Julliard
2f514becdb
kernel32: Store synchronization objects under the session directory.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 16:21:24 +09:00
Jacek Caban
8294722142
kernel32: Pass SYNCHRONIZE flag to NtOpenFile.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-30 21:01:59 +09:00
Francois Gouget
ecc04f6996
kernel32: Remove unneeded NONAMELESSXXX directives.
2015-03-13 00:28:19 +09:00
Austin English
1ade676968
kernel32: Add a stub for CancelTimerQueueTimer.
2014-10-27 17:35:45 +09:00
Nikolay Sivov
7b7d8374a4
ntdll: NtWaitForMultipleObjects()'s third arguments means 'wait_any', not 'wait_all'.
2014-09-01 13:03:07 +02:00
Sebastian Lackner
55396b7018
kernel32: Implement SetNamedPipeHandleState.
...
Based on a patch by Adam Martinson.
2014-08-21 18:02:29 +02:00