EPICS Home

Experimental Physics and Industrial Control System


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

Subject: Re: recDynLink.c for R3.14.1 ?
From: Marty Kraimer <mrk@aps.anl.gov>
To: Benjamin Franksen <franksen@mail.bessy.de>
Cc: tech-talk@aps.anl.gov
Date: Tue, 15 Apr 2003 14:13:36 -0500
Benjamin Franksen wrote:
Hello,

maybe this is connected to the issue at hand. I am in the process of
developing a "soft asynchronous" device support for output records. It
utilises dbPutNotify (on which ca_put_callback is built). Record
configuration interface is DTYP="Asyn Soft Channel", OUT="@name-of-pv"
(link type INST_IO). Support for additional record types will be easy
due to generic implementation with a very simple interface for record
specific device supports.

BTW, here is a question for the experts (Marty?):

The only thing i am not yet sure about is what to do if dbPutNotify
returns S_db_Blocked. Currently, i am doing

recGblSetSevr(precord, WRITE_ALARM, MAJOR_ALARM);

and then give up. The Application Developer's Guide is not very clear
about what can be done in this case. There seems to be no way to find
out when some other outstanding dbPutNotify operation completes, other
than repeatedly trying to call dbPutNotify until it succeeds. I suppose
there is a good reason why such requests aren't cached and auto
restarted later, although i can't quite figure it out.

In 3.14, S_db_Blocked is no longer raised by dbPutNotify. For 3.14 requests that would be blocked are restarted.


In order to implement restart, the semantics of dbPutNotify changed slightly. Since new releases of 3.13 are now bug fixes and minor additions this change was not made to 3.13.


Looking at 3.14 I see that it defines putNotifyBlocked but it is never raised.


For 3.14 the following will be done

putNotifyBlocked - all references to this will be removed.

The definition of S_db_Blocked will be kept but nothing in base will use it.

The 3.14 appDevGuide will remove the reference to putNotifyBlocked.
Note that the appDevGuide does correctly described putNotify except for the description of putNotifyBlocked.



Marty Kraimer



Replies:
Re: recDynLink.c for R3.14.1 ? Benjamin Franksen
References:
RE: recDynLink.c for R3.14.1 ? Feng, Shuchen
Re: recDynLink.c for R3.14.1 ? Tim Mooney
Re: recDynLink.c for R3.14.1 ? Kate Feng
Re: recDynLink.c for R3.14.1 ? Benjamin Franksen

Navigate by Date:
Prev: Re: recDynLink.c for R3.14.1 ? Benjamin Franksen
Next: Re: recDynLink.c for R3.14.1 ? Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020 
Navigate by Thread:
Prev: Re: recDynLink.c for R3.14.1 ? Benjamin Franksen
Next: Re: recDynLink.c for R3.14.1 ? Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020