From 3f7dc3fd80e7fe548f89b96ab4228135dca688db Mon Sep 17 00:00:00 2001 From: Vo Trung Chi Date: Thu, 1 Aug 2019 07:38:42 +0700 Subject: using POSIX shared memory APIs (#90) (#151) Replace all Linux specific shared memory APIs with POSIX alternatives. Signed-off-by: Vo Trung Chi --- src/shared/dlt_common.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/shared/dlt_common.c') diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c index 58896f6..8cb9413 100644 --- a/src/shared/dlt_common.c +++ b/src/shared/dlt_common.c @@ -67,6 +67,10 @@ const char dltSerialHeader[DLT_ID_SIZE] = { 'D', 'L', 'S', 1 }; char dltSerialHeaderChar[DLT_ID_SIZE] = { 'D', 'L', 'S', 1 }; char dltFifoBaseDir[DLT_PATH_MAX] = "/tmp"; +#ifdef DLT_SHM_ENABLE +char dltShmName[NAME_MAX + 1] = "/dlt-shm"; +#endif + /* internal logging parameters */ static int logging_mode = DLT_LOG_TO_CONSOLE; static int logging_level = LOG_INFO; @@ -1703,6 +1707,14 @@ void dlt_log_set_fifo_basedir(const char *env_pipe_dir) dltFifoBaseDir[DLT_PATH_MAX - 1] = 0; } +#ifdef DLT_SHM_ENABLE +void dlt_log_set_shm_name(const char * env_shm_name) +{ + strncpy(dltShmName, env_shm_name, NAME_MAX); + dltShmName[NAME_MAX] = 0; +} +#endif + void dlt_log_init(int mode) { if ((mode < DLT_LOG_TO_CONSOLE) || (mode > DLT_LOG_DROPPED)) { @@ -3704,6 +3716,14 @@ void dlt_check_envvar() if (env_pipe_dir != NULL) dlt_log_set_fifo_basedir(env_pipe_dir); + +#ifdef DLT_SHM_ENABLE + char* env_shm_name = getenv("DLT_SHM_NAME"); + if (env_shm_name != NULL) + { + dlt_log_set_shm_name(env_shm_name); + } +#endif } int dlt_set_loginfo_parse_service_id(char *resp_text, -- cgit v1.2.1