Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020 
<== Date ==> <== Thread ==>

Subject: RE: asyn interrupt and record
From: "Mark Rivers" <rivers@cars.uchicago.edu>
To: "Heinrich du Toit" <heinrichdt@tlabs.ac.za>, "TechTalk EPICS" <tech-talk@aps.anl.gov>
Date: Fri, 12 Oct 2007 09:07:05 -0500
> This means in effect that if I have some array field and start editing
> it in the interrupt function.
> Then the db access/ca can get half-way modified values back?
 
No, that is not a problem.  The interrupt callback will call dbScanLock to lock the record before it modifies anything.  Of course that can block, but if the database is built correctly then it will not block for long, because any asynchronous processing will be happening in other threads.  This is the standard EPICS method to avoid conflicts with record processing.
 
Mark
 



________________________________

From: tech-talk-bounces@aps.anl.gov on behalf of Heinrich du Toit
Sent: Fri 10/12/2007 5:36 AM
To: TechTalk EPICS
Subject: asyn interrupt and record



If I have a custom record...
And it has some procedure to respond to an ASYN interrupt.

As I understand it this asyn interrupt run in a different thread than
the dbaccess for the record?

This means in effect that if I have some array field and start editing
it in the interrupt function.
Then the db access/ca can get half-way modified values back?
Which would be bad?

Any method that the array can mutex/lock its fields while processing
them?

Or is it ok to edit?






References:
asyn interrupt and record Heinrich du Toit

Navigate by Date:
Prev: Re: firewire video on RTEMS-4.6.x-MVME5500 Kate Feng
Next: Re: softioc crashes CAS (gateway) when using port number in EPICS_CA_ADDR_LIST Emmanuel Mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020 
Navigate by Thread:
Prev: asyn interrupt and record Heinrich du Toit
Next: softioc crashes CAS (gateway) when using port number in EPICS_CA_ADDR_LIST Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·