|
|
|
@ -296,6 +296,8 @@ MmsServer_getObtainFileTask(MmsServer self)
|
|
|
|
|
|
|
|
|
|
if (self->fileUploadTasks[i].state == 0) {
|
|
|
|
|
self->fileUploadTasks[i].state = 1;
|
|
|
|
|
if (self->fileUploadTasks[i].taskLock == NULL)
|
|
|
|
|
self->fileUploadTasks[i].taskLock = Semaphore_create(1);
|
|
|
|
|
return &(self->fileUploadTasks[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -409,7 +411,7 @@ MmsServer_destroy(MmsServer self)
|
|
|
|
|
Map_deleteDeep(self->openConnections, false, closeConnection);
|
|
|
|
|
Map_deleteDeep(self->valueCaches, false, (void (*) (void*)) deleteSingleCache);
|
|
|
|
|
|
|
|
|
|
#if (CONFIG_MMS_THREADLESS_STACK != 1)
|
|
|
|
|
#if (CONFIG_MMS_THREADLESS_STACK != 1)
|
|
|
|
|
if (self->openConnectionsLock)
|
|
|
|
|
Semaphore_destroy(self->openConnectionsLock);
|
|
|
|
|
|
|
|
|
@ -418,15 +420,23 @@ MmsServer_destroy(MmsServer self)
|
|
|
|
|
|
|
|
|
|
if (self->transmitBufferMutex)
|
|
|
|
|
Semaphore_destroy(self->transmitBufferMutex);
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
if (self->transmitBuffer)
|
|
|
|
|
ByteBuffer_destroy(self->transmitBuffer);
|
|
|
|
|
|
|
|
|
|
#if (CONFIG_SET_FILESTORE_BASEPATH_AT_RUNTIME == 1)
|
|
|
|
|
#if (CONFIG_SET_FILESTORE_BASEPATH_AT_RUNTIME == 1)
|
|
|
|
|
if (self->filestoreBasepath != NULL)
|
|
|
|
|
GLOBAL_FREEMEM(self->filestoreBasepath);
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if (MMS_OBTAIN_FILE_SERVICE == 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
|
|
|
|
|
|
|
|
|
|
GLOBAL_FREEMEM(self);
|
|
|
|
|
}
|
|
|
|
@ -699,8 +709,15 @@ MmsServer_handleBackgroundTasks(MmsServer self)
|
|
|
|
|
int i;
|
|
|
|
|
for (i = 0; i < CONFIG_MMS_SERVER_MAX_GET_FILE_TASKS; i++)
|
|
|
|
|
{
|
|
|
|
|
if (self->fileUploadTasks[i].state != 0)
|
|
|
|
|
mmsServer_fileUploadTask(self, &(self->fileUploadTasks[i]));
|
|
|
|
|
if (self->fileUploadTasks[i].state != 0) {
|
|
|
|
|
|
|
|
|
|
Semaphore_wait(self->fileUploadTasks[i].taskLock);
|
|
|
|
|
|
|
|
|
|
if (self->fileUploadTasks[i].state != 0)
|
|
|
|
|
mmsServer_fileUploadTask(self, &(self->fileUploadTasks[i]));
|
|
|
|
|
|
|
|
|
|
Semaphore_post(self->fileUploadTasks[i].taskLock);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif /* (MMS_OBTAIN_FILE_SERVICE == 1) */
|
|
|
|
@ -750,3 +767,17 @@ MmsServer_stopListeningThreadless(MmsServer self)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const char*
|
|
|
|
|
MmsServer_getFilesystemBasepath(MmsServer self)
|
|
|
|
|
{
|
|
|
|
|
#if (CONFIG_SET_FILESTORE_BASEPATH_AT_RUNTIME == 1)
|
|
|
|
|
if (self->filestoreBasepath != NULL)
|
|
|
|
|
return self->filestoreBasepath;
|
|
|
|
|
else
|
|
|
|
|
return CONFIG_VIRTUAL_FILESTORE_BASEPATH;
|
|
|
|
|
#else
|
|
|
|
|
return CONFIG_VIRTUAL_FILESTORE_BASEPATH;
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|