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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: garbage in zero length arrays |
From: | "Mezger Anton Christian" <[email protected]> |
To: | "Hill, Jeff" <[email protected]> |
Cc: | [email protected] |
Date: | Thu, 16 Jan 2014 17:24:24 +0100 |
Hi Jeff, The Array has zero length (NORD=0) after boot. Then I get garbage as first character while the number of elements is 128 in my case and this number was requested. When specifying 0 at request I get args.count=0 as it should with 3.14.12. Regards Anton __________________________________________ From: Hill, Jeff [mailto:[email protected]] Anton, As memory serves, a request for a zero length subscription will probably be rejected by an old version of the CA server. Jeff From: Mezger Anton Christian [mailto:[email protected]] Thank you Jeff, this confirms that I can set 0 in the ca_add_event_array. In any case of epics combinations (ioc, client) that would work properly at monitor receive. Thanks and best regards Anton __________________________________________ From: Hill, Jeff [mailto:[email protected]] Ø My question is: when specifying 0, how does that behave in older epics versions and channel Ø access gateways. Does it use then the maximum amount of elements ? When a channel connects the maximum number of elements is supplied by the server as a channel attribute. In newer versions of EPICS the current number of elements is returned with each subscription update. In older versions the maximum number of elements was always returned; when the current number of elements was less than the maximum number then any additional elements at the end were zero padded. Jeff From: [email protected] [mailto:[email protected]] On Behalf Of Mezger Anton Christian Hi all, When monitoring a non initialized char array with ca_add_event_array, one gets most of the time in the first element of the array. This only when the request uses ca_element_count(chid) which is non zero. When using the dynamic behavior by specifiying 0 elements, the received args.count correspond to the actual size of the array, including zero when not initialized. My question is: when specifying 0, how does that behave in older epics versions and channel access gateways. Does it use then the maximum amount of elements ? Anton __________________________________________ |