diff --git a/common/utils/msc/msc.c b/common/utils/msc/msc.c index 6429cfb46e7865c9e4890b0583d8dbbab72f1eff..f242bd898ae420e661d23c4991be507f7c805391 100644 --- a/common/utils/msc/msc.c +++ b/common/utils/msc/msc.c @@ -66,8 +66,8 @@ typedef struct msc_queue_item_s { } msc_queue_item_t; msc_message_number_t g_message_number = 0; -struct lfds611_queue_state *g_msc_message_queue_p; -struct lfds611_stack_state *g_msc_memory_stack_p; +struct lfds611_queue_state *g_msc_message_queue_p = NULL; +struct lfds611_stack_state *g_msc_memory_stack_p = NULL; //------------------------------------------------------------------------------ void *msc_task(void *args_p) @@ -350,6 +350,9 @@ int msc_init(const msc_env_t envP, const int max_threadsP) void msc_start_use(void) //------------------------------------------------------------------------------ { + while (NULL == g_msc_message_queue_p) { + pthread_yield(); + } lfds611_queue_use(g_msc_message_queue_p); lfds611_stack_use(g_msc_memory_stack_p); }