Experimental Physics and
| |||||||||||||||||
|
Overwriting pfield does cause problems. When you post the array, you have to post all three pfield addresses, because you can't know which was in use at the time a client connected. (As you know, clients actually connect to array addresses, not to fields.) There are three pfield addresses, because buffers are not allocated until a detector field is first used, so the first address is the null array, and the other two are the actual data buffers. The posting only alerts clients that new data is available; the real buffer address isn't specified until the client calls get_array_info(). It's awkward and unsatisfying, but it works.
Tim From: "Michael Davidsaver" <[email protected]> To: "Ned Arnold" <[email protected]> Cc: [email protected] Sent: Wednesday, January 9, 2013 11:02:49 AM Subject: Re: What's calling get_array_info? On 1/9/2013 11:57 AM, Ned Arnold wrote:
From sscanRecord.c: if (precPvt->validBuf == B_BUFFER) { Well how about that. This is just what I was thinking. I had assumed that simply overwriting pfield would cause problems. I'll definitely take a close look at this code. Thanks, Michael -- Tim Mooney ([email protected]) (630)252-5417 Software Services Group (www.aps.anl.gov) Advanced Photon Source, Argonne National Lab
| ||||||||||||||||
ANJ, 20 Apr 2015 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |