EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re: [Merge] ~epics-core/epics-base/+git/Com:thread-join into epics-base:7.0
From: Andrew Johnson via Core-talk <[email protected]>
To: mdavidsaver <[email protected]>
Date: Mon, 17 Jun 2019 20:55:28 -0000
I was thinking that a timeout would at least allow unit test programs to call testAbort() in the event that their threads don't die due to some other bug — this API might turn out to be more useful in unit tests than inside the IOC or other applications, and this could simplify making them more robust against not exiting properly.

I'm starting to think that calling cantProceed() instead of returning an error status might be a mistake, and as I suggested we can always add an epicsThreadMustJoin() routine for those applications that want that behavior. You have already had to change some of our older APIs that only returned void, it would be good to not make that mistake again.

VxWorks 6.8 and earlier still define EPICS_THREAD_CAN_JOIN (0)...

I would start with checks of the basic functionality, and that things the APIs are supposed to reject get rejected (such as self-calling epicsThreadJoin(epicsThreadGetIdSelf()) or on an unjoinable thread; Posix says you can't call pthread_detach() twice, etc. I agree that you probably can't check for resources being freed, but you could check timeout functionality...

-- 
https://code.launchpad.net/~epics-core/epics-base/+git/Com/+merge/361379
Your team EPICS Core Developers is subscribed to branch epics-base:7.0.

Navigate by Date:
Prev: Re: [Merge] ~epics-core/epics-base/+git/Com:thread-join into epics-base:7.0 mdavidsaver via Core-talk
Next: Re: [Merge] ~epics-core/epics-base/+git/Com:thread-join into epics-base:7.0 Martin Konrad via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: [Merge] ~epics-core/epics-base/+git/Com:thread-join into epics-base:7.0 mdavidsaver via Core-talk
Next: Re: [Merge] ~epics-core/epics-base/+git/Com:thread-join into epics-base:7.0 Martin Konrad via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
ANJ, 17 Jun 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·