EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: epicsEvent (posix implementation) bug ?
From: Andrew Johnson <[email protected]>
To: [email protected]
Date: Mon, 31 Jan 2011 10:40:59 -0600
On Friday 28 January 2011 19:57:02 Till Straumann wrote:
> If multiple threads block on the same event then the current
> implementation (posix) may spuriously wake up more than
> one thread as a result of epicsEventSignal().
>
> This is because the underlying pthread_cond_signal()/pthread_cond_wait()
> explicitly have these same semantics.
>
> IMO it would be a good idea to change epicsEventWait and
> epicsEventWaitWithTimeout so that they handle this possible
> case (and yield the same semantics as the RTEMS and vxWorks
> variants).

Could someone add a failing test to libCom/test/epicsEventTest.cpp to try and 
demonstrate this issue please.  I don't have a proper understanding of what 
the issue is yet, but I don't know the pthreads API very well — I'm not 
denying that an issue exists, just trying to understand it.  I'm also 
wondering why the line above the if() that you suggest converting into a 
while() might contain the comment "no need for while since caller must be 
prepared for no work."

- Andrew
-- 
If a man is offered a fact which goes against his instincts, he will
scrutinize it closely, and unless the evidence is overwhelming, he will
refuse to believe it.  If, on the other hand, he is offered something
which affords a reason for acting in accordance to his instincts, he
will accept it even on the slightest evidence.  -- Bertrand Russell



Replies:
Re: epicsEvent (posix implementation) bug ? Till Straumann
References:
epicsEvent (posix implementation) bug ? Till Straumann

Navigate by Date:
Prev: RE: ca_create_subscription element count Jeff Hill
Next: Re: ca_create_channel memory management pthomas
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: epicsEvent (posix implementation) bug ? james.rowland
Next: Re: epicsEvent (posix implementation) bug ? Till Straumann
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·