#include "download-agent-plugin-conf.h"
#include "download-provider-client-manager.h"
#include <storage.h>
+#include <pthread.h>
+static pthread_mutex_t mutex_file_writing = PTHREAD_MUTEX_INITIALIZER;
#define NO_NAME_TEMP_STR "No name"
#define MAX_SUFFIX_COUNT 1000000000
char *resolved_path = DA_NULL;
void *fd = DA_NULL;
- DA_LOGV("");
+ DA_LOGI("+");
actual_file_path = file_info->file_path;
if (!actual_file_path)
goto ERR;
}
+ DA_LOGI("-");
file_info->file_handle = fd;
ERR:
if (DA_RESULT_OK != ret)
da_ret_t start_file_writing(da_info_t *da_info)
{
+ DA_MUTEX_LOCK(&mutex_file_writing);
+
da_ret_t ret = DA_RESULT_OK;
file_info_t *file_info = DA_NULL;
req_info_t *req_info = DA_NULL;
- DA_LOGV("");
+ DA_LOGI("");
NULL_CHECK_RET(da_info);
file_info = da_info->file_info;
char *file_path = DA_NULL;
char *origin_path = DA_NULL;
file_path = req_info->temp_file_path;
- if (!file_path)
- return DA_ERR_INVALID_ARGUMENT;
+ if (!file_path) {
+ ret = DA_ERR_INVALID_ARGUMENT;
+ goto ERR;
+ }
origin_path = file_info->file_path;
file_info->file_path = strdup(file_path);
free(origin_path);
ret = __decide_file_path_for_resume(file_info);
} else if (file_info->file_path) {
DA_LOGE("Already exist");
- return ret;
+ goto ERR;
} else {
ret = __decide_file_path(da_info);
}
}
ret = __saved_file_open(file_info);
ERR:
+ DA_LOGI("result: %d", ret);
+ DA_MUTEX_UNLOCK(&mutex_file_writing);
return ret;
}