Skip site navigation (1)Skip section navigation (2)
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>