Mark Johnston aa3c544349 Revert part of r300109.
The removal of TAILQ_FOREACH_SAFE introduced a small race: when the last
thread on a sleepqueue is awoken, it reclaims the sleepqueue and may begin
executing on a different CPU before sleepq_resume_thread() returns. This
leaves a window during which it may go back to sleep and incorrectly be
awoken again by the caller of sleepq_broadcast().

Reported and tested by:	pho
MFC after:	3 days
Sponsored by:	Dell EMC Isilon
2016-12-22 17:51:44 +00:00
..
2016-10-04 15:23:03 +00:00
2016-10-04 17:57:30 +00:00
2016-11-08 23:59:41 +00:00
2016-11-08 23:59:41 +00:00
2015-04-22 14:38:58 +00:00
2016-09-18 07:37:00 +00:00
2016-07-27 11:40:06 +00:00
2016-11-08 23:59:41 +00:00
2016-10-11 17:00:29 +00:00
2016-12-22 17:51:44 +00:00
2016-10-24 16:40:27 +00:00
2016-07-26 17:23:49 +00:00
2016-04-29 22:15:33 +00:00
2016-11-08 23:59:41 +00:00
2015-03-17 14:16:50 +00:00
2016-04-14 17:07:26 +00:00
2016-10-21 18:27:30 +00:00
2016-08-17 10:14:22 +00:00