1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 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 2011 2012 2013 2014 2015 2016 2017 2018 <2019> 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Weird stream device behavior when using the IOC shell's exit function |
From: | Dirk Zimoch via Tech-talk <[email protected]> |
To: | <[email protected]> |
Date: | Wed, 6 Feb 2019 17:08:06 +0100 |
On 06.02.19 16:58, Dirk Zimoch via Tech-talk wrote:
I am not sure if scanning has stopped. epicsExit is hung up trying to close the socket. The question is when that happens in the shutdown. The epicsAtExit call to register that exit function is called when the drvAsynIPPort is created, which is before iocInit. Does that mean it will be called before or after record scanning is stopped?epicsAtExit calls the handlers in inverse order. Last installed is first called.
This probably does not answer the question. It depends on when in the shutdown process the epicsAtExit handlers are called. I am not sure. Probably via the C exit handler. That would be at the very end, i.e. when exit() is called or main() returns. Also somewhere at that time the C++ destructors are called. I don't know when this happens relative to stopping the scan threads...