EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: RE: vxWorks epicsThreadCreate returns valid thread id when thread wasnt created
From: "Jeff Hill" <[email protected]>
To: "'Marty Kraimer'" <[email protected]>
Cc: "Andrew Johnson" <[email protected]>, <[email protected]>
Date: Mon, 14 Nov 2005 10:45:48 -0700
Andrew: (I cc'd you because of the comment about the sequencer bugs 
not being tracked in mantis below)

> Will do when I check it in.
> I dont want to check it in until I can test.
> I can not easily test until I can build.
> I cant build until online_notify.c is fixed :-)

A fix is in, but not tested. Let me know if you have trouble.

> 
> I have been looking at unasigned mantus bugs
> 
> 126 suggests that am epicsAtExit should be added to dbCa. 
> However I see that ca/access.cp already has one. Thus why should dbCa 
> also have one?
> 

Yes, you probably should have an epicsAtExit in db ca that cleans up 
the ca context created by db ca.

Recall that the old way on vxWorks was that CA had an exit handler that
tried to clean up the ca context if the user's thread went away. We decided 
that this was wrong during R3.14 development. If the user created the ca
context 
then it is his responsibility to clean it up. No other approach is practical
to 
implement while also giving the user appropriate levels of control.

The ca/access.cp epicsAtExit cleans up a global (per library) thread private

identifier effectively wripping the carpet out from under any threads in a
ca context that might nave been left running (many other carpets are about
to 
be yanked this is possibly just the first one). 

If you add an epicsAtExit for db ca everything will be shutdown in the
appropriate 
LIFO order.

A similar problem occurs also with the sequencer (and any other ca thing
that
runs in iocCore). I have heard people complain about the crash but don't
know 
if the sequencer has been patched. There is no sequencer category in Mantis 
so this cant be tracked.

Mantis 189 is also in a grey area betweeen CA and the DB further confused 
by not being reproduced in the most recent release.

Jeff



Navigate by Date:
Prev: RE: online_notify.c Jeff Hill
Next: Re: mrkSoftTest doesn't compile Marty Kraimer
Index: 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: vxWorks epicsThreadCreate returns valid thread id when thread wasnt created Marty Kraimer
Next: mantis 153 fix is in Jeff Hill
Index: 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  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 ·