dyson eb130e286e Finish up the vast majority of the AIO/LIO functionality. Proper signal
support was missing in the previous version of the AIO code.  More
tunables added, and very efficient support for VCHR files has been added.
Kernel threads are not used for VCHR files, all work for such files is
done for the requesting process directly.  Some attempt has been made to
charge the requesting process for resource utilization, but more work
is needed.  aio_fsync is still missing (but the original fsync system
call can be used for now.)  aio_cancel is essentially a noop, but that
is okay per POSIX.  More aio_cancel functionality can be added later,
if it is found to be needed.

The functions implemented include:
	aio_read, aio_write, lio_listio, aio_error, aio_return,
	aio_cancel, aio_suspend.

The code has been implemented to support the POSIX spec 1003.1b
(formerly known as POSIX 1003.4 spec) features of the above.  The
async I/O features are truly async, with the VCHR mode of operation
being essentially the same as physio (for appropriate files) for
maximum efficiency.  This code also supports the signal capability,
is highly tunable, allowing management of resource usage, and
has been written to allow a per process usage quota.

Both the O'Reilly POSIX.4 book and the actual POSIX 1003.1b document
were the reference specs used.  Any filedescriptor can be used with
these new system calls.  I know of no exceptions where these
system calls will not work.  (TTY's will also probably work.)
1997-11-30 04:36:31 +00:00
..
1997-09-02 20:06:59 +00:00
1997-09-02 20:06:59 +00:00
1997-08-02 14:33:27 +00:00
1997-11-25 07:07:48 +00:00
1997-08-02 14:33:27 +00:00
1997-11-22 08:35:46 +00:00
1997-11-20 16:36:17 +00:00
1997-09-02 20:06:59 +00:00
1997-10-28 15:59:26 +00:00
1997-10-28 15:59:26 +00:00
1997-06-14 11:38:46 +00:00
1997-09-16 11:44:05 +00:00
1997-11-24 13:25:37 +00:00
1997-09-14 02:50:28 +00:00
1997-09-14 02:52:18 +00:00
1997-08-02 14:33:27 +00:00
1997-09-14 03:19:42 +00:00
1997-09-16 11:44:05 +00:00
1997-09-16 11:44:05 +00:00
1997-10-28 15:59:26 +00:00
1997-08-02 14:33:27 +00:00
1997-11-09 05:07:40 +00:00
1997-11-25 07:07:48 +00:00
1997-11-18 13:03:48 +00:00
1997-11-22 08:35:46 +00:00
1997-11-22 06:41:21 +00:00
1997-10-26 20:26:33 +00:00
1997-11-25 07:07:48 +00:00
1997-11-22 08:35:46 +00:00
1997-11-22 06:41:21 +00:00
1997-10-28 15:59:26 +00:00
1997-10-28 15:59:26 +00:00
1997-10-16 20:32:40 +00:00