EPICS Home

Experimental Physics and Industrial Control System


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

Subject: Concerns about link-support-2 branch
From: Andrew Johnson <[email protected]>
To: Michael Davidsaver <[email protected]>
Cc: EPICS core-talk <[email protected]>
Date: Fri, 13 Jan 2017 16:29:32 -0600
Hi Michael,

I looked through my commits to the link-suport-2 branch and the only
place I can see that might match your description from Tuesday appears
to be this one:

http://bazaar.launchpad.net/~epics-core/epics-base/link-support-2/revision/12781

which is one of only 2 commits where I made changes to the code inside
the dbCa.c implementation (as against just changing the function
pointers in the dbCa_lset structure, which happened more frequently).

This commit removed 2 arguments from the lset::getValue() routine:

> === modified file 'src/ioc/db/dbLink.h'
> --- src/ioc/db/dbLink.h 2016-09-02 04:21:23 +0000
> +++ src/ioc/db/dbLink.h 2016-09-04 00:21:11 +0000
> @@ -52,7 +52,7 @@
>  
>      /* Get data */
>      long (*getValue)(struct link *plink, short dbrType, void *pbuffer,
> -            epicsEnum16 *pstat, epicsEnum16 *psevr, long *pnRequest);
> +            long *pnRequest);
>      long (*getControlLimits)(const struct link *plink, double *lo, double *hi);
>      long (*getGraphicLimits)(const struct link *plink, double *lo, double *hi);
>      long (*getAlarmLimits)(const struct link *plink, double *lolo, double *lo,

The pstat and psevr arguments were provided to allow the getValue()
routine to send alarm status & severity values from the target record to
the record owning the link when the appropriate link flags are set
(MS/MSS/MSI).

However all link types now have a pointer to their own record (it used
to be that only some link types had one), so a link support layer can
now set its owner's alarm status & severity directly using the
recGblInheritSevr() routine. Other changes in this commit implement that
for the CA and DB link types.

In dbCa.c the commit does swap the order in which the pca->stat and
pca->sevr values are read to after the call to add_action(), but the
dbCaGetLink() routine is still holding the pca->lock at the time so the
dbCaTask can't modify the pca object yet. We could change that order
back again, but I don't see that it matters.

If I misunderstood and you were worried about some other change instead
please let me know which one.

- Andrew

-- 
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon

Replies:
Re: Concerns about link-support-2 branch Michael Davidsaver

Navigate by Date:
Prev: RE: procServ 2.7.0-rc1 released Mark Rivers
Next: dllPath.bat problem Mark Rivers
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: fedora 25: epicsExceptionTest.cpp does not compile Marty Kraimer
Next: Re: Concerns about link-support-2 branch Michael Davidsaver
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024