Commit graph

48 commits

Author SHA1 Message Date
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
Alexandre Julliard
863637b158 Started moving functions that deal with Unix file descriptors to a
separate fd object. This will be needed for file locking.
2003-01-30 00:26:44 +00:00
Alexandre Julliard
08016dc38a Grab the thread object in case the thread terminates with pending
async requests (spotted by Andreas Mohr).
2003-01-08 19:54:19 +00:00
Martin Wilck
54ba272090 Add more flexibility to the queue_async server call by moving most
functionality into the object's queue_async method.
2002-04-24 21:29:54 +00:00
Martin Wilck
18c1514c74 STATUS_CANCELLED is correct for cancelled requests (corresponds to
ERROR_OPERATION_ABORTED).
2002-04-14 19:33:52 +00:00
Martin Wilck
2b47fb3cee - separate cleanly between async scheduling and file IO related issues.
- make the API compatible with other types of async requests (e.g. for
  sockets).
- remove exports of async IO related functions for DLL separation.
2002-04-05 22:53:57 +00:00
Alexandre Julliard
0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Mike McCormack
6f011c0847 - move async activation into the server
- implement async queues
2001-12-20 00:07:05 +00:00
Alexandre Julliard
9caa71eef4 Redesign of the server communication protocol to allow arbitrary sized
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Michael McCormack
1c32a46d5a Use poll() on the client-side during server waits to implement
overlapped I/O.
2001-03-22 20:09:34 +00:00
Mike McCormack
7526540e03 Add missing release object so server exits cleanly. 2001-03-14 17:25:26 +00:00
Mike McCormack
21ea8a9107 Calculate the timeout time once when the async is created. 2001-01-07 21:46:17 +00:00
Alexandre Julliard
2362380b64 Added separate queue for "system" APCs that get called even when the
thread is not in an alertable state.
Specify the select_request timeout as absolute value so that we can
restart the request when interrupted.
2001-01-06 01:48:51 +00:00
Alexandre Julliard
8081e5a1e5 Added handle_t type to server interface so that we can make handles
pointers later on.
Always use 0 to signal invalid handle in server requests.
2001-01-05 04:08:07 +00:00
Alexandre Julliard
63411dbde5 Avoid dup'ing file descriptors when not necessary.
Do not send fd to the client if ops->get_fd() fails.
2000-12-22 21:12:36 +00:00
Alexandre Julliard
1ab243bac1 Merged the get_read_fd and get_write_fd requests. 2000-12-19 02:12:45 +00:00
Mike McCormack
1eac1911c7 - created server object for handling async i/o
- implemented WaitCommEvent with the EV_RXCHAR flag
- implemented GetOverlappedResult
2000-11-13 19:27:21 +00:00