mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-14 14:55:41 +00:00
Restore code wrongly removed in SVN revision 173004, it causes threaded
process to be stuck in execv(). Noticed by: delphij
This commit is contained in:
parent
c3fed0bbc1
commit
ffdc5a34ed
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=183929
@ -572,8 +572,16 @@ thread_single(int mode)
|
||||
sleepq_abort(td2, EINTR);
|
||||
break;
|
||||
case SINGLE_BOUNDARY:
|
||||
if (TD_IS_SUSPENDED(td2) &&
|
||||
!(td2->td_flags & TDF_BOUNDARY))
|
||||
wakeup_swapper |=
|
||||
thread_unsuspend_one(td2);
|
||||
if (TD_ON_SLEEPQ(td2) &&
|
||||
(td2->td_flags & TDF_SINTR))
|
||||
wakeup_swapper |=
|
||||
sleepq_abort(td2, ERESTART);
|
||||
break;
|
||||
default:
|
||||
default:
|
||||
if (TD_IS_SUSPENDED(td2)) {
|
||||
thread_unlock(td2);
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user