EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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  <20202021  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  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: error calling dbGetLinkValue in EPICS base-3.15.6
From: Anindya Roy via Tech-talk <tech-talk at aps.anl.gov>
To: "Johnson, Andrew N." <anj at anl.gov>, "Rivers, Mark L." <rivers at cars.uchicago.edu>
Cc: EPICS tech-talk <tech-talk at aps.anl.gov>
Date: Fri, 20 Mar 2020 10:14:28 +0530
Thank you Mark & Andrew.

Actually, I have also gone through the headers and could not find dbGetLinkValue() and then I tried to incorporate dbGetLink() into the code, however the compilation is done but something is still missing which generates segementation fault.

Let me look into it and thank you once again.

Regards
Anindya
VECC
, India.


-----"Johnson, Andrew N." <anj at anl.gov> wrote: -----
To: "Rivers, Mark L." <rivers at cars.uchicago.edu>
From: "Johnson, Andrew N." <anj at anl.gov>
Date: 03/19/2020 09:47PM
Cc: "Anindya Roy" <r_ani at vecc.gov.in>, "EPICS tech-talk" <tech-talk at aps.anl.gov>
Subject: Re: error calling dbGetLinkValue in EPICS base-3.15.6

On Mar 19, 2020, at 7:49 AM, Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> wrote:

> However, dbGetLinkValue does not exist in any .h or .c file.  So the documentation does not match the actual API.

… which is why we’re trying to move the source of the documentation closer to the code by adopting Doxygen. It will probably take several years to get there though.

> Surprisingly to me this change in the API is also not mentioned in the 3.15.* release notes.

Mea cupla. There were quite a lot of changes when I was working on adding extensible link types and they didn’t all get documented.

> Two of the error messages in dbGetLink in dbLink.c still say the function name is dbGetLinkValue, which is incorrect.
> ./src/ioc/db/dbLink.c:        printf("dbGetLinkValue: Use of poptions no longer supported\n");
> ./src/ioc/db/dbLink.c:        cantProceed("dbGetLinkValue: Illegal link type %d\n", plink->type);

Those have been fixed in the 7.0 tree, probably sometime in 3.16 branch.

> However, I think the intent all along was that you should get dbGetLink(), not dbGetLinkValue().  Previous dbGetLink was a macro that called dbGetLinkValue().  Now dbGetLink is no longer a macro, it is the C function that you should call.

Correct. dbGetLink() was a macro that only actually called the dbGetLinkValue() routine if there was something for it to do; passing *nRequest==0 allowed you to fetch metadata such as an array length without getting the actual data. Since everyone was supposed to be using dbGetLink() I removed the short-circuit and renamed the routine while cleaning up the code.

- Andrew

-- 
Complexity comes for free, simplicity you have to work for.


References:
Re: error calling dbGetLinkValue in EPICS base-3.15.6 Johnson, Andrew N. via Tech-talk
error calling dbGetLinkValue in EPICS base-3.15.6 Anindya Roy via Tech-talk
Re: error calling dbGetLinkValue in EPICS base-3.15.6 Mark Rivers via Tech-talk

Navigate by Date:
Prev: Re: monitors on array variables Mark Rivers via Tech-talk
Next: Job Openings at APS/ANL for the APS-U Project Shen, Guobao via Tech-talk
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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: error calling dbGetLinkValue in EPICS base-3.15.6 Johnson, Andrew N. via Tech-talk
Next: Job Openings at APS/ANL for the APS-U Project Shen, Guobao via Tech-talk
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  <20202021  2022  2023  2024 
ANJ, 20 Mar 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·