- IEC 61850 server: fixed bug in single threaded mode (windows)

pull/228/head
Michael Zillgith 5 years ago
parent 4a15e9987b
commit 6a2db3fe46

@ -517,11 +517,6 @@ IedServer_destroy(IedServer self)
#endif #endif
} }
MmsServer_destroy(self->mmsServer);
if (self->localIpAddress != NULL)
GLOBAL_FREEMEM(self->localIpAddress);
#if ((CONFIG_MMS_SINGLE_THREADED == 1) && (CONFIG_MMS_THREADLESS_STACK == 0)) #if ((CONFIG_MMS_SINGLE_THREADED == 1) && (CONFIG_MMS_THREADLESS_STACK == 0))
if (self->serverThread) if (self->serverThread)
@ -529,6 +524,11 @@ IedServer_destroy(IedServer self)
#endif #endif
MmsServer_destroy(self->mmsServer);
if (self->localIpAddress != NULL)
GLOBAL_FREEMEM(self->localIpAddress);
MmsMapping_destroy(self->mmsMapping); MmsMapping_destroy(self->mmsMapping);
LinkedList_destroyDeep(self->clientConnections, (LinkedListValueDeleteFunction) private_ClientConnection_destroy); LinkedList_destroyDeep(self->clientConnections, (LinkedListValueDeleteFunction) private_ClientConnection_destroy);
@ -639,9 +639,10 @@ IedServer_stop(IedServer self)
MmsMapping_stopEventWorkerThread(self->mmsMapping); MmsMapping_stopEventWorkerThread(self->mmsMapping);
#if (CONFIG_MMS_SINGLE_THREADED == 1) #if (CONFIG_MMS_SINGLE_THREADED == 1)
MmsServer_stopListeningThreadless(self->mmsServer);
Thread_destroy(self->serverThread); Thread_destroy(self->serverThread);
self->serverThread = NULL; self->serverThread = NULL;
MmsServer_stopListeningThreadless(self->mmsServer);
#else #else
MmsServer_stopListening(self->mmsServer); MmsServer_stopListening(self->mmsServer);
#endif #endif

Loading…
Cancel
Save