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: |
Thu, 20 Jun 2019 22:53:50 -0000 |
The VxWorks implementation of osdThread is pretty thin — our thread ID is the OS's task ID, and in various places the code assumes the system is UP, so no memory barriers are required. I don't understand where else you could see races or user-after-frees that don't also exist in the native taskWait() API. Wind River implements taskWait() by adding the calling task to a wait queue that lives in the TCB of the task being waited for. The queue gets flushed (by a different task) to wake up all waiters when the task is deleted.
Now I agree that the current code is too simple since it doesn't check the status returned by taskWait() or look at errno, which obviously needs to be done and the subsequent behavior made to match the other implementations. I skipped doing that to have the discussion about returning an error status.
--
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: IOC Threads blocking all signals William Norum via Core-talk
- Next:
[Bug 608956] Re: vxWorks 6.8 deprecates the use of taskVarLib Andrew Johnson via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
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 mdavidsaver via Core-talk
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
<2019>
2020
2021
2022
2023
2024
|