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: synchronizing client requests & completions |
From: | "Peregrine M. McGehee" <[email protected]> |
To: | "Jeff Hill" <[email protected]>, "'Alan K Biocca'" <[email protected]> |
Cc: | "Marty Kraimer" <[email protected]>, "EPICS Techtalk" <[email protected]> |
Date: | Thu, 12 Mar 1998 11:14:46 -0000 |
Jeff, > > It sounds like your immediate problem is that you need to guarantee > that a certain set of request have completed before initiating another > set of requests. It appears that ca_put_callback() will provide proper > synchronization without resorting to ugly and complex code in your > client side application. However, sole reliance on ca_put_callback as a command completion mechanism may present problems for database designers in regards to lock-set management since the records dealing with command completion may be linked with the underlying mechanism database. Although multiple record solutions create their own difficulties due to avoiding behavior such as "false NOT-BUSYs" there are ways to mitigate this. Techniques used in the CAD/CAR model include tracking the CAD record Client ID field and designing subsystems so that they transition to the IDLE state before BUSY when processing new commands. Aloha, Peregrine Peregrine M. McGehee Project Engineer: LEDA Control System (505) 667-3273 [email protected] LANSCE-8 Controls & Automation Los Alamos National Laboratory