- IED server: handling thread mode changed

pull/119/head
Michael Zillgith 7 years ago
parent 952f12bffb
commit 0a27ec758f

@ -527,6 +527,9 @@ IedServer_destroy(IedServer self)
} }
} }
if (self->serverThread)
Thread_destroy(self->serverThread);
#endif #endif
MmsMapping_destroy(self->mmsMapping); MmsMapping_destroy(self->mmsMapping);
@ -598,9 +601,9 @@ IedServer_start(IedServer self, int tcpPort)
#if (CONFIG_MMS_SINGLE_THREADED == 1) #if (CONFIG_MMS_SINGLE_THREADED == 1)
MmsServer_startListeningThreadless(self->mmsServer, tcpPort); MmsServer_startListeningThreadless(self->mmsServer, tcpPort);
Thread serverThread = Thread_create((ThreadExecutionFunction) singleThreadedServerThread, (void*) self, true); self->serverThread = Thread_create((ThreadExecutionFunction) singleThreadedServerThread, (void*) self, false);
Thread_start(serverThread); Thread_start(self->serverThread);
#else #else
MmsServer_startListening(self->mmsServer, tcpPort); MmsServer_startListening(self->mmsServer, tcpPort);
@ -635,6 +638,8 @@ IedServer_stop(IedServer self)
#if (CONFIG_MMS_SINGLE_THREADED == 1) #if (CONFIG_MMS_SINGLE_THREADED == 1)
MmsServer_stopListeningThreadless(self->mmsServer); MmsServer_stopListeningThreadless(self->mmsServer);
Thread_destroy(self->serverThread);
self->serverThread = NULL;
#else #else
MmsServer_stopListening(self->mmsServer); MmsServer_stopListening(self->mmsServer);
#endif #endif

Loading…
Cancel
Save