Date: Fri, 23 Mar 2012 21:20:13 GMT From: Andriy Gapon <avg@FreeBSD.org> To: freebsd-bugs@FreeBSD.org Subject: Re: misc/166340: Process under FreeBSD 9.0 hangs in uninterruptable sleep with apparently no syscall (empty wchan) Message-ID: <201203232120.q2NLKDJ5051690@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR misc/166340; it has been noted by GNATS.
From: Andriy Gapon <avg@FreeBSD.org>
To: bug-followup@FreeBSD.org, christian.esken@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203232120.q2NLKDJ5051690>
