]> Zhao Yanbai Git Server - minix.git/commit
VFS - no CANCEL for async non-blocking operations
authorTomas Hruby <tom@minix3.org>
Mon, 20 Feb 2012 13:19:29 +0000 (13:19 +0000)
committerTomas Hruby <tom@minix3.org>
Fri, 2 Mar 2012 15:44:48 +0000 (15:44 +0000)
commit72b7abd1a175bffcadde6592e96a3f64043c2d59
tree3763a3818dd1de81eafba46c9ead92be700ec43d
parentf19d8df184641ecbb951ba983b39a5ef97be52a4
VFS - no CANCEL for async non-blocking operations

- if an operation (R, W, IOCTL) is non blocking, a flag is set
  and sent to the device.

- nothing changes for sync devices

- asyn devices should reply asap if an operation is non-blocking.
  We must trust the devices, but we had to trust them anyway to
  reply to CANCEL correctly

- we safe sending CANCEL commands to asyn devices. This greatly
  simplifies the protocol. Asynchronous devices can always reply
  when a reply is ready and do not need to deal with other
  situations

- currently, none of our drivers use the flags since they drive
  virtual devices which do not block
drivers/hello/hello.c
drivers/log/log.c
drivers/memory/memory.c
drivers/random/main.c
include/minix/chardriver.h
include/minix/com.h
lib/libchardriver/chardriver.c
servers/vfs/device.c