Thomas Veerman aba392e630 Clean up and fix multiple bugs in select:
- Remove redundant code.
 - Always wait for the initial reply from an asynchronous select request,
   even if the select has been satisfied on another file descriptor or
   was canceled due to a serious error.
 - Restart asynchronous selects if upon reply from the driver turns out
   that there are deferred operations (and do not forget we're still
   interested in the results of the deferred operations).
 - Do not hang a non-blocking select when another blocking select on
   the same filp is still blocking.
 - Split blocking operations in read, write, and exceptions (i.e.,
   blocking on read does not imply the write will block as well).
 - Some loops would iterate over OPEN_MAX file descriptors instead of
   the "highest" file descriptor.
 - Use proper internal error return values.
 - A secondary reply from a synchronous driver is essentially the same
   as from an asynchronous driver (the only difference being how the 
   answer is received). Merge.
 - Return proper error code after a driver failure.
 - Auto-detect whether a driver is synchronous or asynchronous.
 - Remove some code duplication.
 - Clean up code (coding style, add missing comments, put all select
   related code together).
2011-04-13 13:25:34 +00:00
2010-10-25 08:32:14 +00:00
2010-12-10 22:20:12 +00:00
2011-04-07 07:44:17 +00:00
2011-02-26 23:01:27 +00:00
2011-04-07 07:44:23 +00:00
2010-12-21 11:00:13 +00:00
2011-04-06 15:59:10 +00:00
2010-01-21 10:16:05 +00:00
2011-02-21 16:07:22 +00:00
Description
A fun microkernel meant to match modern usecases
GPL-3.0 148 MiB
Languages
C 78.2%
Roff 10.2%
Assembly 4.6%
Shell 3.7%
Makefile 1.6%
Other 1.2%