minix/servers
David van Moolenbroek f707937192 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
2014-02-18 11:25:03 +01:00
..
devman Removing obsolete _MINIX define 2013-02-26 09:44:20 +00:00
ds Cleanup: Remove minix.bootprog.mk 2013-03-06 11:56:56 +01:00
ext2 VFS/FS: replace protocol version with flag field 2014-02-18 11:25:02 +01:00
hgfs Create SFFS library out of HGFS 2012-04-09 18:08:26 +02:00
inet Retire the synchronous character driver protocol 2014-02-18 11:25:02 +01:00
init init: handle getty string of "" (default) 2013-06-12 07:04:53 +00:00
ipc moving prototypes to lib.h 2014-02-18 11:25:01 +01:00
is Retire the synchronous character driver protocol 2014-02-18 11:25:02 +01:00
iso9660fs VFS/FS: replace protocol version with flag field 2014-02-18 11:25:02 +01:00
lwip fix a few more minix specific warnings 2013-08-27 16:16:03 +00:00
mfs Fix various file system warnings 2014-02-18 11:25:02 +01:00
pfs PFS: remember request information for IOCTLs 2014-02-18 11:25:02 +01:00
pm Removing CSU patches 2014-02-18 11:25:02 +01:00
procfs VFS: remove FP_BLOCKED_ON_DOPEN 2014-02-18 11:25:03 +01:00
rs Retire the synchronous character driver protocol 2014-02-18 11:25:02 +01:00
sched kernel: spelling fixes 2013-10-09 20:24:17 -04:00
vbfs Add VBFS: VirtualBox Shared Folder File System 2012-04-11 00:27:48 +02:00
vfs VFS: process char driver replies from main thread 2014-02-18 11:25:03 +01:00
vm Removing CSU patches 2014-02-18 11:25:02 +01:00
Makefile lwip (inet's alternative) is compiled by default 2013-03-25 16:51:25 +01:00
Makefile.inc Removing obsolete _MINIX define 2013-02-26 09:44:20 +00:00