DragonFly commits List (threaded) for 2010-08
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
git: kernel - close numerous kqueue MP and blocking races
commit cf9f4e88a67efbe26053ec74dc81d4f8e6c5bafc
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date: Sat Aug 21 18:41:15 2010 -0700
kernel - close numerous kqueue MP and blocking races
* create race
Close a race where one thread registers a kevent and blocks in
f_attach allowing another thread to register a change or deletion
on the same event.
* delete race
Close a race where one thread deletes a kevent and blocks in
f_detach allowing another thread to register a change or deletion
on the same event.
* scan/close race
Close a race where one thread is in the middle of a kqueue_scan()
and another concurrently close()s a related file descriptor. This
could cause select and poll to loop forever due to not being able
to delete the 'spurious' kevent.
* register/close race
Close a race where one thread registers a kevent and blocks
in f_attach and another thread close()s the related file
descriptor at the same time.
Summary of changes:
sys/kern/kern_descrip.c | 12 +++--
sys/kern/kern_event.c | 112 +++++++++++++++++++++++++++++++++++-----------
sys/sys/event.h | 2 +
sys/sys/file.h | 1 +
4 files changed, 95 insertions(+), 32 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/cf9f4e88a67efbe26053ec74dc81d4f8e6c5bafc
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]