30 Commits

Author SHA1 Message Date
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