- ensure RESERVED event before ENABLE event

pull/374/head
Michael Zillgith 4 years ago
parent 81b26f1cb6
commit e06b485258

@ -1804,6 +1804,14 @@ Reporting_RCBWriteAccessHandler(MmsMapping* self, ReportControl* rc, char* eleme
if (updateReportDataset(self, rc, NULL, connection)) {
if (rc->reserved == false) {
reserveRcb(rc, connection);
if (self->rcbEventHandler) {
self->rcbEventHandler(self->rcbEventHandlerParameter, rc->rcb, clientConnection, RCB_EVENT_RESERVED, NULL, DATA_ACCESS_ERROR_SUCCESS);
}
}
updateOwner(rc, connection);
MmsValue* rptEna = ReportControl_getRCBValue(rc, "RptEna");
@ -2201,27 +2209,36 @@ exit_function:
rc->reservationTimeout = Hal_getTimeInMs() + (RESV_TMS_IMPLICIT_VALUE * 1000);
if (rc->resvTms == 0) {
rc->resvTms = RESV_TMS_IMPLICIT_VALUE;
reserveRcb(rc, connection);
if (rc->reserved == false) {
rc->resvTms = RESV_TMS_IMPLICIT_VALUE;
if (self->rcbEventHandler) {
self->rcbEventHandler(self->rcbEventHandlerParameter, rc->rcb, clientConnection, RCB_EVENT_RESERVED, NULL, DATA_ACCESS_ERROR_SUCCESS);
reserveRcb(rc, connection);
if (self->rcbEventHandler) {
self->rcbEventHandler(self->rcbEventHandlerParameter, rc->rcb, clientConnection, RCB_EVENT_RESERVED, NULL, DATA_ACCESS_ERROR_SUCCESS);
}
}
}
else if (rc->resvTms == -1) {
reserveRcb(rc, connection);
if (rc->reserved == false) {
reserveRcb(rc, connection);
if (self->rcbEventHandler) {
self->rcbEventHandler(self->rcbEventHandlerParameter, rc->rcb, clientConnection, RCB_EVENT_RESERVED, NULL, DATA_ACCESS_ERROR_SUCCESS);
if (self->rcbEventHandler) {
self->rcbEventHandler(self->rcbEventHandlerParameter, rc->rcb, clientConnection, RCB_EVENT_RESERVED, NULL, DATA_ACCESS_ERROR_SUCCESS);
}
}
}
}
else {
reserveRcb(rc, connection);
if (rc->reserved == false) {
reserveRcb(rc, connection);
if (self->rcbEventHandler) {
self->rcbEventHandler(self->rcbEventHandlerParameter, rc->rcb, clientConnection, RCB_EVENT_RESERVED, NULL, DATA_ACCESS_ERROR_SUCCESS);
if (self->rcbEventHandler) {
self->rcbEventHandler(self->rcbEventHandlerParameter, rc->rcb, clientConnection, RCB_EVENT_RESERVED, NULL, DATA_ACCESS_ERROR_SUCCESS);
}
}
}
}

Loading…
Cancel
Save