misc/166340: Process under FreeBSD 9.0 hangs in uninterruptable
sleep with apparently no syscall (empty wchan)
Andriy Gapon
avg at FreeBSD.org
Fri Mar 23 21:20:14 UTC 2012
The following reply was made to PR misc/166340; it has been noted by GNATS.
From: Andriy Gapon <avg at FreeBSD.org>
To: bug-followup at FreeBSD.org, christian.esken at trivago.com
Cc:
Subject: Re: misc/166340: Process under FreeBSD 9.0 hangs in uninterruptable
sleep with apparently no syscall (empty wchan)
Date: Fri, 23 Mar 2012 23:17:12 +0200
Hmm, sleepq_timedwait_sig() is supposed to react to signals.
At least that's what its description says:
/*
* Block the current thread until it is awakened from its sleep queue,
* it is interrupted by a signal, or it times out waiting to be awakened.
*/
int
sleepq_timedwait_sig(void *wchan, int pri)
{
int rcatch, rvalt, rvals;
rcatch = sleepq_catch_signals(wchan, pri);
rvalt = sleepq_check_timeout();
rvals = sleepq_check_signals();
thread_unlock(curthread);
if (rcatch)
return (rcatch);
if (rvals)
return (rvals);
return (rvalt);
}
--
Andriy Gapon
More information about the freebsd-bugs
mailing list