use callbackRequestProcessCallbackDelayed
This commit is contained in:
@@ -34,27 +34,13 @@
|
||||
#include "dbCommon.h"
|
||||
#include "aiRecord.h"
|
||||
#include "epicsExport.h"
|
||||
|
||||
static void myCallback(CALLBACK *pcallback)
|
||||
{
|
||||
struct dbCommon *precord;
|
||||
struct rset *prset;
|
||||
|
||||
callbackGetUser(precord,pcallback);
|
||||
prset=(struct rset *)(precord->rset);
|
||||
dbScanLock(precord);
|
||||
(*prset->process)(precord);
|
||||
dbScanUnlock(precord);
|
||||
}
|
||||
|
||||
|
||||
static long init_record(struct aiRecord *pai)
|
||||
{
|
||||
CALLBACK *pcallback;
|
||||
switch (pai->inp.type) {
|
||||
case (CONSTANT) :
|
||||
pcallback = (CALLBACK *)(calloc(1,sizeof(CALLBACK)));
|
||||
callbackSetCallback(myCallback,pcallback);
|
||||
callbackSetUser(pai,pcallback);
|
||||
pai->dpvt = (void *)pcallback;
|
||||
break;
|
||||
default :
|
||||
@@ -78,7 +64,8 @@ static long read_ai(struct aiRecord *pai)
|
||||
if(pai->disv<=0) return(2);
|
||||
printf("Starting asynchronous processing: %s\n",pai->name);
|
||||
pai->pact=TRUE;
|
||||
callbackRequestDelayed(pcallback,pai->disv);
|
||||
callbackRequestProcessCallbackDelayed(pcallback,
|
||||
pai->prio,pai,(double)pai->disv);
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
@@ -54,15 +54,6 @@ typedef struct myCallback {
|
||||
CALLBACK callback;
|
||||
IOSCANPVT ioscanpvt;
|
||||
}myCallback;
|
||||
|
||||
static void myCallbackFunc(CALLBACK *arg)
|
||||
{
|
||||
myCallback *pcallback;
|
||||
|
||||
callbackGetUser(pcallback,arg);
|
||||
scanIoRequest(pcallback->ioscanpvt);
|
||||
}
|
||||
|
||||
|
||||
static long init_record(pevent,pass)
|
||||
eventRecord *pevent;
|
||||
@@ -72,8 +63,6 @@ static long init_record(pevent,pass)
|
||||
|
||||
pcallback = (myCallback *)(calloc(1,sizeof(myCallback)));
|
||||
scanIoInit(&pcallback->ioscanpvt);
|
||||
callbackSetCallback(myCallbackFunc,&pcallback->callback);
|
||||
callbackSetUser(pcallback,&pcallback->callback);
|
||||
pevent->dpvt = (void *)pcallback;
|
||||
return(0);
|
||||
}
|
||||
@@ -97,6 +86,7 @@ static long read_event(pevent)
|
||||
if(pevent->proc<=0) return(0);
|
||||
pevent->udf = FALSE;
|
||||
printf("%s Requesting Next ioEnevt\n",pevent->name);
|
||||
callbackRequestDelayed(&pcallback->callback,(double)pevent->proc);
|
||||
callbackRequestProcessCallbackDelayed(&pcallback->callback,
|
||||
pevent->prio,pevent,(double)pevent->proc);
|
||||
return(0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user