Go to file
David van Moolenbroek de95c84d3e VFS: fix short select(2) timeouts
Some select queries require a response from device drivers.  If a
select call is nonblocking (with a zero timeout), the response to
the caller may have to be deferred until all involved drivers have
responded to the initial query.  This is handled just fine.

However, if the select call has a timeout that is so short that it
triggers before all the involved drivers have responded, the
resulting alarm would be discarded, possibly resulting in the call
blocking forever.  This fix changes the alarm handler such that if
the alarm triggers too early, the select call is further handled
as though it was nonblocking.

This fix resolves a test77 deadlock on really slow systems.

Change-Id: Ib487c8fe436802c3e11c57355ae0c8480721f06e
2015-09-16 10:41:46 +00:00
bin Importing bin/domainname utility 2015-07-28 21:56:19 +00:00
common inet: do not link against libc 2015-06-07 14:38:12 +00:00
distrib VFS: check X bit, not R bit, opening executables 2015-08-31 12:55:55 +00:00
docs Add PTYFS, Unix98 pseudo terminal support 2015-06-23 17:43:46 +00:00
etc libminixfs/VM: fix memory-mapped file corruption 2015-08-13 13:46:46 +00:00
external clang: apply LLVM patch r201729 2015-06-29 10:58:16 +00:00
games Import games/caesar and games/rot13 2015-04-15 09:47:27 +02:00
gnu Update download urls in fetch.sh 2014-08-07 14:27:32 +02:00
include New sources layout 2014-07-31 16:00:30 +02:00
lib Importing bin/domainname utility 2015-07-28 21:56:19 +00:00
libexec LLVM Minix changes 2014-07-28 17:05:59 +02:00
minix VFS: fix short select(2) timeouts 2015-09-16 10:41:46 +00:00
releasetools Add PTYFS, Unix98 pseudo terminal support 2015-06-23 17:43:46 +00:00
sbin INIT died problem / build system robustness 2014-08-28 08:52:50 +02:00
share ARM: can build with llvm, switch to EABI 2014-12-12 13:04:56 +01:00
sys libminixfs: add support for 64-bit block numbers 2015-08-13 13:46:44 +00:00
tests LLVM Minix changes 2014-07-28 17:05:59 +02:00
tools buildsystem: fix build errors for x86 on OSX 2014-11-04 11:00:29 +01:00
usr.bin patch(1): fix arbitrary code execution bug 2015-07-26 15:53:47 +00:00
usr.sbin Import NetBSD syslogd(8) 2015-07-26 11:57:04 +00:00
.gitignore gitignore: ignore some more generated files 2012-12-06 13:29:20 +00:00
.gitreview build:update 'git review' config to match gerrit.minix3.org 2014-07-28 17:05:15 +02:00
build.sh Importing netbsd clang -- pristine 2014-07-28 17:05:57 +02:00
LICENSE Fix parameter parsing in cut 2010-01-21 10:16:05 +00:00
Makefile INIT died problem / build system robustness 2014-08-28 08:52:50 +02:00
Makefile.inc Synchronize on NetBSD-CVS (2013/12/1 12:00:00 UTC) 2014-07-28 17:05:06 +02:00