Jacek Caban
8ef4f9a0c8
server: Create async objects in read and write request handlers.
...
async_get_data allows splitting patches, but will be removed later in
the series.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:22:46 +01:00
Jacek Caban
91bd81441f
server: Allow creating async object not associated with a queue.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:22:44 +01:00
Jacek Caban
13204d87cf
server: Choose newer async object when searching from client pointer.
...
This fixes a race. Client may release and reuse async pointer while
processing APC_ASYNC_IO. It is, however, guaranteed that
get_async_result will be called on the newest one known to the server.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-14 22:46:58 +01:00
Jacek Caban
d055d3d121
server: Use async object to transfer IRP result to client.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:11:03 +01:00
Jacek Caban
64dc8f5c48
server: Store iosb in async object.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:11:03 +01:00
Jacek Caban
d2b3c6c3f9
server: Introduced iosb struct for server-side IO_STATUS_BLOCK representation and use it in irp_call.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:11:03 +01:00
Jacek Caban
6ffe08459f
server: Cancel process asyncs on process termination.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-01 15:25:34 +01:00
Jacek Caban
055918c982
server: Store async list in process object and use that to find async in cansel_async request.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-01 13:50:27 +01:00
Alexandre Julliard
f55db7882d
server: Add link_name and unlink_name object operations.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-04 21:07:19 +09:00
Alexandre Julliard
ad53ffc9c0
server: Make async objects waitable.
2015-05-08 17:32:06 +09:00
Alexandre Julliard
481517178f
server: Make the APC callback optional in async calls.
2015-05-06 17:16:48 +09:00
Alexandre Julliard
8364351b99
server: Don't report completion at all in the MORE_PROCESSING_REQUIRED case.
2015-03-07 14:26:51 +09:00
Alexandre Julliard
8843bc144d
server: Allow passing an argument for the user APC async I/O callbacks.
2015-03-03 17:02:03 +09:00
Dmitry Timoshkov
0b4c9cb533
server: Store full-sized completion information on the server side.
2013-08-23 20:15:43 +02:00
Erich Hoover
93552cc3df
server: STATUS_MORE_PROCESSING_REQUIRED indicates that an async operation should not send a completion.
2012-06-07 16:07:00 +02:00
Erich Hoover
e7dbb212a2
server: Access the completion from the file descriptor instead of the async object.
2012-06-06 13:47:28 +02:00
Mike Kaplinskiy
42debac149
server: Move socket async activation to sock_poll_event.
2010-05-17 14:41:33 +02:00
Mike Kaplinskiy
b05774ee7e
server: Change cancel_async to take an optional iosb and only_thread.
2009-08-18 12:26:30 +02:00
Alexandre Julliard
50171c5cc1
server: Make the new named pipe server fd inherit the I/O completion if it was set before connecting.
2009-03-03 11:59:29 +01:00
Alexandre Julliard
6db201080f
server: Make the various async I/O parameters client_ptr_t instead of void pointers.
2008-12-30 21:09:41 +01:00
Alexandre Julliard
f507ccbf52
server: Specify the user APC to call only once the system APC has executed.
2008-12-30 20:51:55 +01:00
Alexandre Julliard
a6216ab927
server: Make apc_param_t always 64-bit.
2008-12-17 19:43:40 +01:00
Alexandre Julliard
f6fa72d770
server: Make async I/O transfer sizes always 32-bit.
2008-12-15 13:30:25 +01:00
Alexandre Julliard
dc7f170495
server: Add an apc_param_t type to store APC client-side parameters.
2008-12-15 13:29:38 +01:00
Rob Shearman
0b0c75ed19
server: Initialise the apc_call_t union in async_set_result to all zero to avoid a Valgrind warning.
2007-12-27 15:12:07 +01:00
Alexandre Julliard
c69468ddcc
server: Fix possible NULL dereference.
2007-12-18 19:44:00 +01:00
Andrey Turkin
3afbee5218
server: Store I/O completion information in async structure.
...
This is to allow completions to be sent on handle close. Also this can
be helpful for AcceptEx/TransmitFile implementation.
2007-12-18 14:25:43 +01:00
Marcus Meissner
edd3f264d9
server: Removed superflous async->queue NULL tests.
2007-12-08 19:54:35 +01:00
Alexandre Julliard
8382eb01b2
server: Return correct object types in the get_directory_entry request.
2007-12-05 18:16:42 +01:00
Andrey Turkin
7a9210fa85
server: Pass Information field from async I/O APCs.
2007-11-15 14:24:50 +01:00
Andrey Turkin
c702a91a3c
server: Allow async i/o operations to send completion messages.
2007-11-15 14:20:29 +01:00
Rob Shearman
c1707d8938
server: Add get_sd and set_sd object operations to allow the security descriptor to be stored somewhere other than server memory, such as on disk.
2007-10-04 12:30:52 +02:00
Alexandre Julliard
8992f89f27
server: Remove the extra apc_arg parameter now that user APCs all require the same arg as the kernel APC.
2007-06-04 15:20:49 +02:00
Alexandre Julliard
61e08b346b
server: Add support for queuing ioctl calls to a device.
2007-05-08 20:37:21 +02:00
Alexandre Julliard
aaf477f292
server: Change the timeout handling to use NT-style 64-bit timeouts everywhere.
2007-04-17 20:08:59 +02:00
Alexandre Julliard
72bff2e445
server: Add support for restarting an async I/O when the client side couldn't finish it right away.
2007-04-10 17:07:27 +02:00
Alexandre Julliard
ba896e75d7
server: Fix the handling of the signaled status for file descriptors.
...
File handles are signaled when an I/O operation completes, and reset
when another operation is queued.
2007-04-04 19:39:29 +02:00
Alexandre Julliard
b2cba95abd
server: Hold a pointer to the queue from the async operations.
2007-04-03 19:36:07 +02:00
Alexandre Julliard
4e5c7038da
server: Make timeout status for async I/O specifiable. Fix mailslots timeout handling.
2007-04-03 19:12:31 +02:00
Alexandre Julliard
0aae1ca8bf
server: Add a separate function to set the timeout of an async I/O operation.
2007-04-02 20:41:59 +02:00
Alexandre Julliard
df09ac5194
server: Make async I/O queues into real objects.
2007-04-02 20:09:29 +02:00
Alexandre Julliard
c16eb8efd9
server: Add support for queuing a user APC upon async I/O completion.
2007-03-27 16:42:27 +02:00
Alexandre Julliard
7e71c1ddee
server: Add an open_file() function to the object operations.
2007-03-22 11:44:29 +01:00
Alexandre Julliard
8adce7765a
server: Notify the async object when the APC call completed.
2007-03-21 14:28:23 +01:00
Alexandre Julliard
fa4679fea6
server: Add support for storing an event to signal upon async I/O completion.
2007-03-21 14:27:52 +01:00
Alexandre Julliard
111610c45e
server: Add an async_data_t structure to store parameters for async I/O requests.
2007-03-20 20:21:12 +01:00
Alexandre Julliard
06db705238
server: Make struct async into a real object, to keep it around while the APC is running.
2007-03-20 19:23:59 +01:00
Eric Pouech
4634447d6b
- got rid of include/async.h
...
- fixed some overlapped issues in socket handling
- moved kernel32.CancelIo implementation to ntdll
2005-01-14 19:54:38 +00:00
Alexandre Julliard
088bcf9ca5
Implemented NtQueueApcThread, and changed the server APC interface to
...
always take 3 parameters.
Implemented a number of other ntdll thread functions, and use them
from the kernel ones.
2003-04-04 22:26:34 +00:00
Alexandre Julliard
e66207ebfc
Moved all references to file descriptors out of the generic object
...
structure.
Changed the poll()-related routines to deal with file descriptors
instead of objects and integrated poll support into fd.c.
2003-02-19 00:33:32 +00:00