EPICS Controls Argonne National Laboratory

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: Re: base-3.16.1 bug
From: Ralph Lange <[email protected]>
To: Andrew Johnson <[email protected]>
Cc: EPICS Core Talk <[email protected]>
Date: Wed, 6 Sep 2017 13:40:57 +0200
Hi Andrew,

I'm running into this right now, because it is failing my tests (that try to write to a bo record).

Why is none of our tests catching this? (dbPutLinkTest is named like it should.)

I would say the dummy method returning OK is the way to go. Other link types might return errors that are worth reporting, and it is certainly a property of the CONSTANT link that a put() operation is never producing an error.

Cheers,
~Ralph



On Thu, Aug 31, 2017 at 11:35 PM, Andrew Johnson <[email protected]> wrote:
[...]
The problem is related to the new Link Support code: The OUT links in
both ao records are unset so are CONSTANT links, and the ao Soft Device
support returns the status value it gets from calling dbPutLink() as the
result of its write_ao() method, but for the CONSTANT link type there is
no lset::putValue() method, so the return value from dbPutLink() is
S_db_noLSET, which now gets returned all the way back through the
rset::process() method up to the routine dbChannel_put() so RSRV sees an
error from the put which it passes back to the CA client.

The same problem will probably occur with bo, stringout and lso records
because the soft device support for those record types also pass the
return value from dbPutLink() back to the record type. Other device
supports always return 0 independent of what dbPutLink() returns so
won't generate the error.

Ralph, Michael:

Where do you think is the correct place to squash this error? Should I
add a dummy lset::putValue() method to the dbConstLink type (that just
returns OK), or change the soft device supports to discard the return
value from dbPutLink()?

- 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: base-3.16.1 bug Michael Davidsaver
References:
Re: base-3.16.1 bug Andrew Johnson

Navigate by Date:
Prev: Re: base-3.16.1 bug Andrew Johnson
Next: Re: base-3.16.1 bug 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 
Navigate by Thread:
Prev: Re: base-3.16.1 bug Andrew Johnson
Next: Re: base-3.16.1 bug 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 
ANJ, 21 Dec 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·