]> Zhao Yanbai Git Server - minix.git/commit
AVFS: fix various system call interruption issues
authorThomas Veerman <thomas@minix3.org>
Thu, 9 Feb 2012 14:24:28 +0000 (14:24 +0000)
committerThomas Veerman <thomas@minix3.org>
Thu, 9 Feb 2012 14:24:28 +0000 (14:24 +0000)
commitabd6043a2f26b3a5ccba994ea87137c696c4e839
tree718e89473fba31171cf1f9462a38379bf7892cc8
parent4498750810fd5e3098cc7db5e877c7765ab90e53
AVFS: fix various system call interruption issues

 - When cancelling ioctls, VFS did not remember which file descriptor
   to cancel and sent bogus to the driver.
 - Select state was not cleaned up when select()ing process was
   interrupted.
 - Process trying to do a system call at the exact same time as a user
   trying to interrupt the process, could cause the system call worker
   thread to overwrite state belonging to the worker thread trying to
   exit the process. This led to hanging threads and eventual system hang
   when this happens often enough.
servers/avfs/device.c
servers/avfs/fproc.h
servers/avfs/main.c
servers/avfs/misc.c
servers/avfs/pipe.c
servers/avfs/select.c
servers/avfs/worker.c