Skip to content
Snippets Groups Projects
Commit 25c24d04 authored by benjamin.franksen's avatar benjamin.franksen
Browse files

seq: fixed a bug in pvGet/PutComplete

Must not epicsEventSignal when epicsEventTryWait returns
epicsEventWaitTimeout, since this means we have not yet been called
back by CA. This bug could lead to pvGet/PutComplete erroneously
returning TRUE even though the callback did not yet arrive.
parent 9c73d75f
No related branches found
No related tags found
No related merge requests found
...@@ -257,7 +257,6 @@ epicsShareFunc boolean epicsShareAPI seq_pvGetComplete(SS_ID ss, VAR_ID varId) ...@@ -257,7 +257,6 @@ epicsShareFunc boolean epicsShareAPI seq_pvGetComplete(SS_ID ss, VAR_ID varId)
ss_read_buffer(ss, ch, FALSE); ss_read_buffer(ss, ch, FALSE);
return TRUE; return TRUE;
case epicsEventWaitTimeout: case epicsEventWaitTimeout:
epicsEventSignal(getSem);
return FALSE; return FALSE;
case epicsEventWaitError: case epicsEventWaitError:
ss->getReq[varId] = NULL; ss->getReq[varId] = NULL;
...@@ -540,7 +539,6 @@ epicsShareFunc boolean epicsShareAPI seq_pvPutComplete( ...@@ -540,7 +539,6 @@ epicsShareFunc boolean epicsShareAPI seq_pvPutComplete(
done = TRUE; done = TRUE;
break; break;
case epicsEventWaitTimeout: case epicsEventWaitTimeout:
epicsEventSignal(putSem);
break; break;
case epicsEventWaitError: case epicsEventWaitError:
ss->putReq[varId] = NULL; ss->putReq[varId] = NULL;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment