Experimental Physics and Industrial Control System
|
This sounds like a fix could be feasible and/or an issue on Andrew's
list, doesn't it?
Ralph
On 17.02.2009 21:30 Jeff Hill wrote:
FWIW: The CA client does not connect via TCP through the CA server when it’s a local channel, and instead the db_xxxx functions are called directly. A local channel is one that is hosted within the same IOC as the client library context. Therefore, at least rsrv_init and rsrv_run need not complete prior to connecting a local channel. As Andrew mentioned, the dbCa facility would definitely need to be running first, however.
Jeff
-----Original Message-----
From: [email protected] [mailto:[email protected]]
On Behalf Of Andrew Johnson
Sent: Monday, February 16, 2009 9:37 AM
To: [email protected]; [email protected]
Subject: Re: Local CA out links broken during PINI
Hi Ben,
On Monday 16 February 2009 05:07:12 Benjamin Franksen wrote:
it seems that CA output links do not work at all during PINI processing
if
the target record is on the same IOC.
I think this is a bug, as I could not find any note on this behaviour in
the Developer's Guide.
Please consider the task of bringing up an IOC, i.e. what iocInit does.
Here
are some lines from iocInit, in order of execution:
initialProcess();
/* Start CA server threads */
rsrv_init();
...
/* Enable scan tasks and some driver support functions. */
scanRun();
dbCaRun();
...
rsrv_run();
The CA server has not even been initialized when the initialProcess() (i.e.
PINI processing) takes place, and the dbCa link task which manages CA links
is not running at that point either. PINI has to happen before we release
the scan threads or allow CA links to connect because they can initiate
record processing.
We can't allow external CA clients to connect before the PINI processing is
done because they might interfere with that initialization, and I suspect
it
would be hard to add a separate path to the server to allow internal CA
clients to connect in advance of the external ones.
I agree that the documentation does not discuss PINI much, but [despite
being
slightly out-dated by R3.14.10] section 7.4 of the AppDevGuide does make
clear that initialProcess() happens before rsrv_init().
- Andrew
--
The best FOSS code is written to be read by other humans -- Harold Welte
- Replies:
- Re: Local CA out links broken during PINI Andrew Johnson
- Navigate by Date:
- Prev:
Re: Ideas for Codeathon Schoeneburg, Bernd
- Next:
Re: Local CA out links broken during PINI Andrew Johnson
- 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: Ideas for Codeathon Marty Kraimer
- Next:
Re: Local CA out links broken during PINI Andrew Johnson
- Index:
2002
2003
2004
2005
2006
2007
2008
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|
ANJ, 02 Feb 2012 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
·
Search
·
EPICS V4
·
IRMIS
·
Talk
·
Bugs
·
Documents
·
Links
·
Licensing
·
|