Merge "hal: Fix race condition in parsing platform info xml"
diff --git a/hal/platform_info.c b/hal/platform_info.c
index d73792c..1969f52 100644
--- a/hal/platform_info.c
+++ b/hal/platform_info.c
@@ -135,6 +135,7 @@
};
static struct platform_info my_data;
+static pthread_mutex_t parser_lock = PTHREAD_MUTEX_INITIALIZER;
struct audio_string_to_enum {
@@ -1447,6 +1448,7 @@
void *buf;
char platform_info_file_name[MIXER_PATH_MAX_LENGTH]= {0};
+ pthread_mutex_lock(&parser_lock);
if (filename == NULL)
strlcpy(platform_info_file_name, PLATFORM_INFO_XML_PATH,
MIXER_PATH_MAX_LENGTH);
@@ -1511,5 +1513,6 @@
err_close_file:
fclose(file);
done:
+ pthread_mutex_unlock(&parser_lock);
return ret;
}