1
0
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:
David Xu 2008-10-16 04:17:17 +00:00
parent c3fed0bbc1
commit ffdc5a34ed
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=183929

View File

@ -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;