Hi,
Recently at BNL, we've been investigating a report of unexpected
behavior found when using put-callbacks to a Motor Record (verified
using a simulated motor). After initiating a long-running motion with
caput -c -w 100 test:motor1 <some large value>
trying to stop the motor in the following way fails:
caput -c -w 100 test:motor1.STOP 1
After observing that the 2nd put-with-callback to stop the motion is
not seen by the Motor Record, a look through
$EPICS_BASE/src/rsrv/camessage.c reveals that concurrent put notifies
are queued in the IOC server:
/******************************/
if ( pciu->pPutNotify ) {
/*
* serialize concurrent put notifies
*/
/******************************/
I can understand serializing put-callbacks on a per-channel basis, but
the implementation appears to serialize _per-record_.
What am I missing? A little help please...
-- dc
- Replies:
- Re: put callback queuing Andrew Johnson
- Re: put callback queuing Tim Mooney
- Navigate by Date:
- Prev:
Is it possible to create a cross-compile environment using cygwin and vxWorks on Windows XP 송영기
- Next:
Re: put callback queuing Andrew Johnson
- 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
- Navigate by Thread:
- Prev:
Re: Is it possible to create a cross-compile environment using cygwin and vxWorks on Windows XP Andrew Johnson
- Next:
Re: put callback queuing Andrew Johnson
- 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
|