A dbPutLink is attempted for all links even if a put for a previous link fails.
This commit is contained in:
@@ -75,7 +75,7 @@ struct rset dfanoutRSET={
|
||||
|
||||
static void alarm();
|
||||
static void monitor();
|
||||
static long push_values();
|
||||
static void push_values();
|
||||
|
||||
#define OUT_ARG_MAX 8
|
||||
|
||||
@@ -106,8 +106,8 @@ static long process(pdfanout)
|
||||
pdfanout->pact = TRUE;
|
||||
recGblGetTimeStamp(pdfanout);
|
||||
/* Push out the data to all the forward links */
|
||||
status = push_values(pdfanout);
|
||||
alarm(pdfanout);
|
||||
push_values(pdfanout);
|
||||
monitor(pdfanout);
|
||||
recGblFwdLink(pdfanout);
|
||||
pdfanout->pact=FALSE;
|
||||
@@ -251,7 +251,7 @@ static void monitor(pdfanout)
|
||||
return;
|
||||
}
|
||||
|
||||
static long push_values(pdfanout)
|
||||
static void push_values(pdfanout)
|
||||
struct dfanoutRecord *pdfanout;
|
||||
{
|
||||
struct link *plink; /* structure of the link field */
|
||||
@@ -260,7 +260,6 @@ struct dfanoutRecord *pdfanout;
|
||||
|
||||
for(i=0, plink=&(pdfanout->outa); i<OUT_ARG_MAX; i++, plink++) {
|
||||
status=dbPutLink(plink,DBR_LONG,&(pdfanout->val),1);
|
||||
if (!RTN_SUCCESS(status)) return(-1);
|
||||
if(status) recGblSetSevr(pdfanout,LINK_ALARM,MAJOR_ALARM);
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user