From 96e93c4be32eeaca8aefaf821c4a14b1ccefc9c6 Mon Sep 17 00:00:00 2001 From: Michael Zillgith Date: Thu, 24 Feb 2022 18:27:54 +0100 Subject: [PATCH] - fixed compilation problem with option CONFIG_MMS_THREADLESS_STACK --- CMakeLists.txt | 2 +- src/mms/iso_mms/server/mms_file_service.c | 4 ++++ src/mms/iso_mms/server/mms_server.c | 10 ++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 195a20a8..47758c7e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ ENABLE_TESTING() set(LIB_VERSION_MAJOR "1") set(LIB_VERSION_MINOR "5") -set(LIB_VERSION_PATCH "0") +set(LIB_VERSION_PATCH "1") set(LIB_VERSION "${LIB_VERSION_MAJOR}.${LIB_VERSION_MINOR}.${LIB_VERSION_PATCH}") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/third_party/cmake/modules/") diff --git a/src/mms/iso_mms/server/mms_file_service.c b/src/mms/iso_mms/server/mms_file_service.c index eb3cfbab..d5da951a 100644 --- a/src/mms/iso_mms/server/mms_file_service.c +++ b/src/mms/iso_mms/server/mms_file_service.c @@ -629,12 +629,16 @@ mmsServerConnection_stopFileUploadTasks(MmsServerConnection self) if (server->fileUploadTasks[i].connection == self) { +#if (CONFIG_MMS_THREADLESS_STACK != 1) Semaphore_wait(server->fileUploadTasks[i].taskLock); +#endif /* stop file upload task */ server->fileUploadTasks[i].state = MMS_FILE_UPLOAD_STATE_INTERRUPTED; +#if (CONFIG_MMS_THREADLESS_STACK != 1) Semaphore_post(server->fileUploadTasks[i].taskLock); +#endif } } diff --git a/src/mms/iso_mms/server/mms_server.c b/src/mms/iso_mms/server/mms_server.c index c387cb8b..aa77f5ab 100644 --- a/src/mms/iso_mms/server/mms_server.c +++ b/src/mms/iso_mms/server/mms_server.c @@ -297,8 +297,12 @@ MmsServer_getObtainFileTask(MmsServer self) if (self->fileUploadTasks[i].state == 0) { self->fileUploadTasks[i].state = 1; + +#if (CONFIG_MMS_THREADLESS_STACK != 1) if (self->fileUploadTasks[i].taskLock == NULL) self->fileUploadTasks[i].taskLock = Semaphore_create(1); +#endif + return &(self->fileUploadTasks[i]); } @@ -432,11 +436,13 @@ MmsServer_destroy(MmsServer self) #endif #if (MMS_OBTAIN_FILE_SERVICE == 1) +#if (CONFIG_MMS_THREADLESS_STACK != 1) int i; for (i = 0; i < CONFIG_MMS_SERVER_MAX_GET_FILE_TASKS; i++) { if (self->fileUploadTasks[i].taskLock) Semaphore_destroy(self->fileUploadTasks[i].taskLock); } +#endif #endif GLOBAL_FREEMEM(self); @@ -712,12 +718,16 @@ MmsServer_handleBackgroundTasks(MmsServer self) { if (self->fileUploadTasks[i].state != 0) { +#if (CONFIG_MMS_THREADLESS_STACK != 1) Semaphore_wait(self->fileUploadTasks[i].taskLock); +#endif if (self->fileUploadTasks[i].state != 0) mmsServer_fileUploadTask(self, &(self->fileUploadTasks[i])); +#if (CONFIG_MMS_THREADLESS_STACK != 1) Semaphore_post(self->fileUploadTasks[i].taskLock); +#endif } }