Official MINIX sources - Automatically replicated from gerrit.minix3.org
- 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). |
||
|---|---|---|
| benchmarks | ||
| boot | ||
| commands | ||
| common | ||
| docs | ||
| drivers | ||
| etc | ||
| include | ||
| kernel | ||
| lib | ||
| man | ||
| nbsd_include | ||
| servers | ||
| share | ||
| test | ||
| tools | ||
| .gitignore | ||
| LICENSE | ||
| Makefile | ||