diff --git a/src/iec61850/server/impl/ied_server.c b/src/iec61850/server/impl/ied_server.c index 4c452e3e..96c8a244 100644 --- a/src/iec61850/server/impl/ied_server.c +++ b/src/iec61850/server/impl/ied_server.c @@ -1357,12 +1357,10 @@ IedServer_handleWriteAccess(IedServer self, DataAttribute* dataAttribute, WriteA if (dataAttribute == NULL) { if (DEBUG_IED_SERVER) printf("IED_SERVER: IedServer_handleWriteAccess - dataAttribute == NULL!\n"); - - /* Cause a trap */ - *((volatile int*) NULL) = 1; } - - MmsMapping_installWriteAccessHandler(self->mmsMapping, dataAttribute, handler, parameter); + else { + MmsMapping_installWriteAccessHandler(self->mmsMapping, dataAttribute, handler, parameter); + } } void diff --git a/src/iec61850/server/impl/ied_server_config.c b/src/iec61850/server/impl/ied_server_config.c index b9d1dd03..00b8c39a 100644 --- a/src/iec61850/server/impl/ied_server_config.c +++ b/src/iec61850/server/impl/ied_server_config.c @@ -51,6 +51,7 @@ IedServerConfig_create() self->maxDataSetEntries = CONFIG_MMS_MAX_NUMBER_OF_DATA_SET_MEMBERS; self->enableLogService = true; self->edition = IEC_61850_EDITION_2; + self->maxMmsConnections = 5; } return self; diff --git a/src/iec61850/server/mms_mapping/mms_mapping.c b/src/iec61850/server/mms_mapping/mms_mapping.c index 22e1e6cf..fdacb6ac 100644 --- a/src/iec61850/server/mms_mapping/mms_mapping.c +++ b/src/iec61850/server/mms_mapping/mms_mapping.c @@ -2404,12 +2404,6 @@ mmsConnectionHandler(void* parameter, MmsServerConnection connection, MmsServerE private_IedServer_removeClientConnection(self->iedServer, clientConnection); -#if (CONFIG_MMS_THREADLESS_STACK != 1) - /* wait until control threads are finished */ - while (private_ClientConnection_getTasksCount(clientConnection) > 0) - Thread_sleep(10); -#endif /* (CONFIG_MMS_THREADLESS_STACK != 1) */ - #if (CONFIG_IEC61850_REPORT_SERVICE == 1) Reporting_deactivateReportsForConnection(self, connection); #endif