freebsd-skq/share
attilio 5fcd322a25 MFC r200447,201703,201709-201710:
In current code, threads performing an interruptible sleep
will leave the waiters flag on forcing the owner to do a wakeup even
when the waiter queue is empty.
That operation may lead to a deadlock in the case of doing a fake wakeup
on the "preferred" queue while the other queue has real waiters on it,
because nobody is going to wakeup the 2nd queue waiters and they will
sleep indefinitively.
A similar bug, is present, for lockmgr in the case the waiters are
sleeping with LK_SLEEPFAIL on.

Add a sleepqueue interface which does report the actual number of waiters
on a specified queue of a waitchannel and track if at least one sleepfail
waiter is present or not. In presence of this or empty "preferred" queue,
wakeup both waiters queues.

Discussed with:	kib
Tested by:	Pete French <petefrench at ticketswitch dot com>,
		Justin Head <justin at encarnate dot com>
2010-01-18 14:43:44 +00:00
..
colldef Croatian locale support for hr_HR.ISO8859-2 2009-06-10 21:55:38 +00:00
dict
doc Add the KNOWN-DEFECTS file back in for the 9.6.1 release. 2009-06-25 20:09:53 +00:00
examples MFC r200440 to stable/8: 2010-01-15 14:24:32 +00:00
info
man MFC r200447,201703,201709-201710: 2010-01-18 14:43:44 +00:00
me
misc Merge rev. 199181 to 8.x-STABLE: 2009-11-25 11:23:44 +00:00
mk Second attempt at eliminating .text relocations in shared libraries 2009-07-14 21:19:13 +00:00
mklocale Fix printing of some wide-characters by iswprint() on ja_JP.eucJP 2009-06-12 23:15:36 +00:00
monetdef Add euro symbol to pt_PT locale using other encodings 2009-06-10 22:09:40 +00:00
msgdef add ca_AD, ca_FR and ca_IT locales 2009-06-10 12:20:11 +00:00
numericdef add ca_AD, ca_FR and ca_IT locales 2009-06-10 12:20:11 +00:00
security
sendmail
skel Add explicit test so that non-existence of /usr/games/fortune 2009-03-27 21:13:14 +00:00
snmp
syscons Add various new keymaps: 2009-06-12 22:53:49 +00:00
tabset
termcap Add missing passthrough printing entries for VT100 and workalikes 2009-06-14 07:02:50 +00:00
timedef MFC r199179, r199271: 2009-11-22 17:25:11 +00:00
zoneinfo MFC of tzdata2009u, 201189 2009-12-29 10:15:11 +00:00
Makefile
Makefile.inc