[PATCH] Async IO on regular files
This patch implements asynchronous I/O on regular file objects. It is against the current (02/01/02) CVS version of wine. I know that async IO on regular files is pretty pointless at the moment, but it's better to have it working as expected, I guess ... The patch was successfully tested with a simple test program that checks the sequence of scheduled reqeuests and file positioning via the lpOverlapped->Offset and OffsetHigh fields. server/file.c: struct file: add two async_queue fields (read/write) for async IO. create_file_for_fd(): Intialize async queues. destroy_file(): destroy async queues. file_poll_event(): invoke async requests for overlapped files. file_queue_async(): implement the queue_async() method. file_get_info(): return FD_TYPE_OVERLAPPED for overlapped files. files/file.c: FILE_AsyncReadService(): Use pread() for fd's that support seeking. FILE_AsyncWriteService(): Use pwrite() for fd's that support seeking. Regards Martin -- Martin Wilck Phone: +49 5251 8 15113 Fujitsu Siemens Computers Fax: +49 5251 8 20409 Heinz-Nixdorf-Ring 1 mailto:Martin.Wilck(a)Fujitsu-Siemens.com D-33106 Paderborn http://www.fujitsu-siemens.com/primergy
participants (1)
-
Martin Wilck