Re: [Boost-bugs] [Boost C++ Libraries] #3628: condition.notify_one() does not wake up a thread that is in condition.wait() or condition.timed_wait()

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #3628: condition.notify_one() does not wake up a thread that is in condition.wait() or condition.timed_wait()
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-08-17 15:39:32


#3628: condition.notify_one() does not wake up a thread that is in
condition.wait() or condition.timed_wait()
---------------------------------------------------+------------------------
  Reporter: Shouaib Ahmed <ranashoaib@…> | Owner: viboes
      Type: Bugs | Status: assigned
 Milestone: To Be Determined | Component: thread
   Version: Boost 1.40.0 | Severity: Problem
Resolution: | Keywords: condition
---------------------------------------------------+------------------------

Comment (by viboes):

 I think that I understand why it could occur that sometimes some threads
 are not notified.

 Both threads have a lock on theMutex. The underlying OS could choose to
 schedule the ThreadFuncNotifier thread as many times as it wants. One of
 the threads ThreadFuncWaiter ends by timeout as the ThreadFuncNotifier is
 not signaling the specific condition.

 Let me know if you don't agree with my analysis. I will close the ticket
 as there is no evidence there is an issue on the library.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3628#comment:9>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:10 UTC