freebsd-dev/share/man
Attilio Rao a50e80dcdd - Fix the kthread_{suspend, resume, suspend_check}() locking.
In the current code, the locking is completely broken and may lead
  easilly to deadlocks. Fix it by using the proc_mtx, linked to the
  suspending thread, as lock for the operation.  Keep using the
  thread_lock for setting and reading the flag even if it is not entirely
  necessary (atomic ops may do it as well, but this way the code is more
  readable).
- Fix a deadlock within kthread_suspend().
  The suspender should not sleep on a different channel wrt the suspended
  thread, or, otherwise, the awaker should wakeup both. Uniform the
  interface to what the kproc_* counterparts do (sleeping on the same
  channel).
- Change the kthread_suspend_check() prototype.
  kthread_suspend_check() always assumes curthread and must only refer to
  it, so skip the thread pointer as it may be easilly mistaken.
  If curthread is not a kthread, the system will panic.

In collabouration with:	jhb
Tested by:		Giovanni Trematerra
			<giovanni dot trematerra at gmail dot com>
MFC:			2 weeks
2010-01-24 15:07:00 +00:00
..
man1 Fix markup. 2006-12-26 22:25:58 +00:00
man3 Document pthread_timedjoin_np. 2010-01-23 13:08:47 +00:00
man4 Add "MIXER CONTROLS" chapter. 2010-01-22 11:04:25 +00:00
man5 regen 2010-01-16 12:27:15 +00:00
man6
man7 Correct a minor mistake in my previous commit. 2010-01-21 17:26:11 +00:00
man8 rc.early(8) was removed as of 20090530 so remove manual page reference 2009-11-18 00:56:05 +00:00
man9 - Fix the kthread_{suspend, resume, suspend_check}() locking. 2010-01-24 15:07:00 +00:00
Makefile Reimplementation of world/kernel build options. For details, see: 2006-03-17 18:54:44 +00:00