diff --git a/src/db/callback.c b/src/db/callback.c index 64f690ab8..768752fb7 100644 --- a/src/db/callback.c +++ b/src/db/callback.c @@ -43,6 +43,8 @@ #include #include +#include +#include #include #include #include @@ -164,3 +166,22 @@ static void wdCallback(long ind) rngDelete(callbackQ[ind]); start(ind); } + +static void ProcessCallback(CALLBACK *pCallback) +{ + struct dbCommon *pRec; + + callbackGetUser(pRec, pCallback); + dbScanLock(pRec); + ((struct rset*)(pRec->rset))->process(pRec); + dbScanUnlock(pRec); +} +void callbackRequestProcessCallback(CALLBACK *pCallback, int Priority, void *pRec) +{ + callbackSetCallback(ProcessCallback, pCallback); + callbackSetPriority(Priority, pCallback); + callbackSetUser(pRec, pCallback); + callbackRequest(pCallback); +} + +