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: remnant errlog thread |
From: | Al Honey <[email protected]> |
To: | "'Johnson, Andrew N.'" <[email protected]> |
Cc: | "[email protected]" <[email protected]> |
Date: | Fri, 11 Aug 2017 00:05:52 +0000 |
Hi Andrew The persistent task is an RPC program so it is inherently multi-threaded – each client request is essentially a new RPC thread. So, I have one persistent CA context alive in one thread to deal with asynchronous updates then, as each RPC request comes in, to read or write a channel, I open and close a new CA connection. I have tried to simply have one CA context and then use that in each of the client RPC calls (threads) but ca_current_context() returns NULL. Is there some other CA call that will return the existing context? Al From: Johnson, Andrew N. [mailto:[email protected]]
Hi Al, Have you tried keeping the CA context alive for the life of the persistent task? I don't see why you would want/need to repeatedly create and destroy the context, and it seems likely to me that's what is restarting the errlog thread, although
I can't explain why (unless you are manually loading and unloading the libCom.so library as well). I think the CA library's IOC detection logic will work better if allowed to stay alive, as long as your network connection isn't going up and down as well. HTH, -- Sent from my iPad
|