Official MINIX sources - Automatically replicated from gerrit.minix3.org
Go to file
David van Moolenbroek 6dd9aaab7b VFS: process char driver replies from main thread
Previously, processing of some replies coming from character drivers
could block on locks, and therefore, such processing was done from
threads that were associated to the character driver process. The
hidden consequence of this was that if all threads were in use, VFS
could drop replies coming from the driver. This patch returns VFS to
a situation where the replies from character drivers are processed
instantly from the main thread, by removing the situations that may
cause VFS to block while handling those replies.

- change the locking model for select, so that it will never block
  on any processing that happens after the select call has been set
  up, in particular processing of character driver select replies;
- clearly mark all select routines that may never block;
- protect against race conditions in do_select as result of the
  locking that still does happen there (as is required for pipes);
- also handle select timers from the main thread;
- move processing of character driver replies into device.c.

Change-Id: I4dc8e69f265cbd178de0fbf321d35f58f067cc57
2013-09-28 00:10:49 +02:00
benchmarks Removing obsolete _MINIX define 2013-02-26 09:44:20 +00:00
bin Import NetBSD df(1) 2013-09-28 00:10:40 +02:00
commands VFS: remove FP_BLOCKED_ON_DOPEN 2013-09-28 00:10:48 +02:00
common a bit more -Werror compatability 2013-08-20 11:37:40 +02:00
dist/nvi Termcap update, replacing elvis by nvi. 2013-01-24 07:44:38 +01:00
distrib Import NetBSD df(1) 2013-09-28 00:10:40 +02:00
docs Allow install of binutils and import texinfo 2013-07-12 14:18:08 +02:00
drivers Retire the synchronous character driver protocol 2013-09-28 00:10:48 +02:00
etc Retire the synchronous character driver protocol 2013-09-28 00:10:48 +02:00
external libarchive: use -isystem for /usr/include 2013-08-30 17:21:01 +02:00
gnu Prevent make -C gnu from installing files in / 2013-09-17 15:19:50 +02:00
include VFS: remove FP_BLOCKED_ON_DOPEN 2013-09-28 00:10:48 +02:00
kernel Removing CSU patches 2013-09-28 00:10:47 +02:00
lib Retire the synchronous character driver protocol 2013-09-28 00:10:48 +02:00
libexec increase -Werror resilience 2013-08-21 13:53:39 +02:00
man Import NetBSD df(1) 2013-09-28 00:10:40 +02:00
releasetools Import NetBSD df(1) 2013-09-28 00:10:40 +02:00
sbin Enable getmntinfo(3) 2013-09-28 00:10:26 +02:00
servers VFS: process char driver replies from main thread 2013-09-28 00:10:49 +02:00
share fix sysroot clang 2013-09-28 00:03:42 +02:00
sys Remove support for obsolete 3.2.1 ABI 2013-09-28 00:10:47 +02:00
test Removing CSU patches 2013-09-28 00:10:47 +02:00
tests fix a few more minix specific warnings 2013-08-27 16:16:03 +00:00
tools x86 hd image creator 2013-09-25 19:30:22 +02:00
usr.bin usr.bin/stat Update 2013-09-28 00:03:44 +02:00
usr.sbin increase -Werror resilience 2013-08-21 13:53:39 +02:00
.gitignore gitignore: ignore some more generated files 2012-12-06 13:29:20 +00:00
.gitreview misc:Add gerrit code review support. 2013-01-16 09:44:16 +01:00
build.sh Reverting back to default value of MKARZERO 2013-01-17 10:03:58 +01:00
LICENSE Fix parameter parsing in cut 2010-01-21 10:16:05 +00:00
Makefile Importing NetBSD "Kyua" test framework 2013-07-23 20:43:41 +02:00