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
<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: 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
<2003>
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|