- IED server: fixed potential deadlock in report module when service tracking is enabled

pull/291/head
Michael Zillgith 5 years ago
parent 5d704b8026
commit 4deca9a4c0

@ -1627,8 +1627,6 @@ Reporting_RCBWriteAccessHandler(MmsMapping* self, ReportControl* rc, char* eleme
{ {
MmsDataAccessError retVal = DATA_ACCESS_ERROR_SUCCESS; MmsDataAccessError retVal = DATA_ACCESS_ERROR_SUCCESS;
ReportControl_lockNotify(rc);
bool resvTmsAccess = false; bool resvTmsAccess = false;
/* check reservation timeout for buffered RCBs */ /* check reservation timeout for buffered RCBs */
@ -1676,6 +1674,8 @@ Reporting_RCBWriteAccessHandler(MmsMapping* self, ReportControl* rc, char* eleme
} }
} }
ReportControl_lockNotify(rc);
if ((rc->reserved) && (rc->clientConnection != connection)) { if ((rc->reserved) && (rc->clientConnection != connection)) {
retVal = DATA_ACCESS_ERROR_TEMPORARILY_UNAVAILABLE; retVal = DATA_ACCESS_ERROR_TEMPORARILY_UNAVAILABLE;
goto exit_function; goto exit_function;

Loading…
Cancel
Save