EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: RTEMS tests -- epicsThreadOnce broken?
From: Eric Norum <[email protected]>
To: Andrew Johnson <[email protected]>, Michael Davidsaver <[email protected]>
Cc: EPICS core-talk <[email protected]>
Date: Fri, 29 Oct 2010 09:09:24 -0700
And we have a winner!

===============================================================
=== modified file 'src/libCom/test/epicsThreadOnceTest.c'
--- src/libCom/test/epicsThreadOnceTest.c	2010-10-05 19:27:37 +0000
+++ src/libCom/test/epicsThreadOnceTest.c	2010-10-29 16:05:57 +0000
@@ -93,7 +93,7 @@
 
     testOk(runCount == NUM_ONCE_THREADS, "runCount = %d", runCount);
     epicsEventSignal(go);
-    epicsThreadSleep(0.1);
+    epicsThreadSleep(1.0);
 
     testOk(doneCount == NUM_ONCE_THREADS, "doneCount = %d", doneCount);
     testDiag("init was run by %s", initBy);
=================================================================

***** epicsThreadOnceTest *****
1..11
ok  1 - runCount = 8
ok  2 - once-0: initCount = 1
ok  3 - once-1: initCount = 1
ok  4 - once-2: initCount = 1
ok  5 - once-3: initCount = 1
ok  6 - once-4: initCount = 1
ok  7 - once-5: initCount = 1
ok  8 - once-6: initCount = 1
ok  9 - once-7: initCount = 1
ok 10 - doneCount = 8
# init was run by once-0
Recursive epicsThreadOnce() initialization
Thread recurse (0xa010018) can't proceed, suspending.
ok 11 - Recursive epicsThreadOnce() detected

    Results
    =======
       Tests: 11 
      Passed:  11 = 100.00%



On Oct 29, 2010, at 8:45 AM, Andrew Johnson wrote:

> On Friday 29 October 2010 10:24:18 Eric Norum wrote:
>> So can we fix this somehow?    I don't like seeing failure rates greater
>> than 0.0%.    I'm sure that others running the tests will also be confused
>> by this, too.
> 
> Try this:
> 
> === modified file 'src/libCom/test/epicsThreadOnceTest.c'
> --- src/libCom/test/epicsThreadOnceTest.c       2010-10-05 19:27:37 +0000
> +++ src/libCom/test/epicsThreadOnceTest.c       2010-10-29 15:43:59 +0000
> @@ -93,7 +93,7 @@
> 
>     testOk(runCount == NUM_ONCE_THREADS, "runCount = %d", runCount);
>     epicsEventSignal(go);
> -    epicsThreadSleep(0.1);
> +    epicsThreadSleep(1.0);
> 
>     testOk(doneCount == NUM_ONCE_THREADS, "doneCount = %d", doneCount);
>     testDiag("init was run by %s", initBy);
> 
>> On Oct 29, 2010, at 8:14 AM, Davidsaver, Michael wrote:
>>> 
>>> I think this is noise caused by a test of the recursive once detection.
>>> If a thread once call recurses the thread is suspended.
> 
> I completely disagree, the test that failed was run before the recursive 
> detection test.
> 
> I'm guessing that Eric is using a fairly slow CPU which took longer than 0.1 
> seconds for the ~8 context switches in the test to take place.
> 
> Please keep these discussions *on* the list, it's there for archival purposes 
> as much as anything; if people don't like the volume they can un-subscribe and 
> just follow tech-talk.
> 
> - 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
> 

-- 
Eric Norum
[email protected]






References:
Re: RTEMS tests -- epicsThreadOnce broken? Andrew Johnson

Navigate by Date:
Prev: Re: RTEMS tests -- epicsThreadOnce broken? Eric Norum
Next: Re: RTEMS tests -- epicsThreadOnce broken? Andrew Johnson
Index: 2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: RTEMS tests -- epicsThreadOnce broken? Eric Norum
Next: Re: RTEMS tests -- epicsThreadOnce broken? Andrew Johnson
Index: 2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·