Merged changes from 3.14 branch

Includes all changes up to revno 12334 on 2012-04-04
This commit is contained in:
Andrew Johnson
2012-04-06 12:22:20 -05:00
18 changed files with 144 additions and 120 deletions

View File

@@ -252,6 +252,7 @@ static long process(calcoutRecord *prec)
if (doOutput) {
if (prec->odly > 0.0) {
prec->dlya = 1;
recGblGetTimeStamp(prec);
db_post_events(prec, &prec->dlya, DBE_VALUE);
callbackRequestProcessCallbackDelayed(&prpvt->doOutCb,
prec->prio, prec, (double)prec->odly);
@@ -263,9 +264,11 @@ static long process(calcoutRecord *prec)
prec->pact = TRUE;
}
}
recGblGetTimeStamp(prec);
} else { /* pact == TRUE */
if (prec->dlya) {
prec->dlya = 0;
recGblGetTimeStamp(prec);
db_post_events(prec, &prec->dlya, DBE_VALUE);
/* Make pact FALSE for asynchronous device support*/
prec->pact = FALSE;
@@ -274,9 +277,9 @@ static long process(calcoutRecord *prec)
prec->pact = TRUE;
} else {/*Device Support is asynchronous*/
writeValue(prec);
recGblGetTimeStamp(prec);
}
}
recGblGetTimeStamp(prec);
monitor(prec);
recGblFwdLink(prec);
prec->pact = FALSE;

View File

@@ -90,8 +90,6 @@ typedef struct callbackSeq {
int index;
}callbackSeq;
int processNextLink();
/*****************************************************************************
*
@@ -327,7 +325,9 @@ static long asyncFinish(seqRecord *prec)
if (seqRecDebug > 5)
printf("asyncFinish(%s) completing processing\n", prec->name);
prec->udf = FALSE;
recGblGetTimeStamp(prec);
MonitorMask = recGblResetAlarms(prec);
if (MonitorMask)
@@ -336,8 +336,6 @@ static long asyncFinish(seqRecord *prec)
/* process the forward scan link record */
recGblFwdLink(prec);
recGblGetTimeStamp(prec);
/* tsLocalTime(&prec->time); */
prec->pact = FALSE;
return(0);
@@ -377,6 +375,8 @@ static void processCallback(CALLBACK *arg)
dbGetLink(&(pcb->plinks[pcb->index]->dol), DBR_DOUBLE,
&(pcb->plinks[pcb->index]->dov),0,0);
recGblGetTimeStamp(prec);
/* Dump the value to the destination field */
dbPutLink(&(pcb->plinks[pcb->index]->lnk), DBR_DOUBLE,
&(pcb->plinks[pcb->index]->dov),1);