DragonFly-2.3.1.121.g03bcb4 master sys/dev/virtual/cdrom vcd.c s
commit 03bcb4abdb8be5956d50bff79c4bf8916fcfe611
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date: Sat May 23 16:21:53 2009 -0700
Miscellanious protection around pthread calls to avoid signal reentrancy.
Use pread/pwrite instead of read/write in a few cases. Cases that still
use read/write now protect the calls with a crit_enter()/crit_exit().
Protect usleep() calls with a critical section.
Protect pthread_*() calls with a critical section where applicable. Note
that calls made from cothreads do not need to be protected because the
cothreads do not take signals and are not operated as virtual cpus so they
can't preempt themselves either.
Reported-by: Trevor Kendall
Summary of changes:
sys/dev/virtual/cdrom/vcd.c | 8 ++++----
sys/platform/vkernel/i386/cpu_regs.c | 5 +++++
sys/platform/vkernel/platform/console.c | 12 ++++++++++--
sys/platform/vkernel/platform/cothread.c | 15 +++++++++++++++
sys/platform/vkernel/platform/systimer.c | 8 +++++++-
5 files changed, 41 insertions(+), 7 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/03bcb4abdb8be5956d50bff79c4bf8916fcfe611
--
DragonFly BSD source repository