From 28f700da87bf8de301b64b74a778e80e72517b04 Mon Sep 17 00:00:00 2001 From: "benjamin.franksen" <benjamin.franksen@helmholtz-berlin.de> Date: Thu, 19 Sep 2013 14:09:03 +0000 Subject: [PATCH] seq: pvGet/PutComplete return TRUE if no request is pending We issue a warning message in this case, since this is most probably a logical error in the SNL program. --- src/seq/seq_if.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/seq/seq_if.c b/src/seq/seq_if.c index 5603a97a..970ef754 100644 --- a/src/seq/seq_if.c +++ b/src/seq/seq_if.c @@ -233,6 +233,14 @@ epicsShareFunc boolean epicsShareAPI seq_pvGetComplete(SS_ID ss, VAR_ID varId) return TRUE; } + if (!ss->getReq[varId]) + { + errlogSevPrintf(errlogMinor, + "pvGetComplete(%s): no pending get request for this variable\n", + ch->varName); + return TRUE; + } + switch (epicsEventTryWait(getSem)) { case epicsEventWaitOK: @@ -530,6 +538,13 @@ epicsShareFunc boolean epicsShareAPI seq_pvPutComplete( ch->varName); done = TRUE; } + else if (!ss->putReq[varId]) + { + errlogSevPrintf(errlogMinor, + "pvPutComplete(%s): no pending put request for this variable\n", + ch->varName); + done = TRUE; + } else { switch (epicsEventTryWait(putSem)) -- GitLab