diff options
author | Timo Lotterbach <timo.lotterbach@bmw-carit.de> | 2012-10-25 05:23:40 -0700 |
---|---|---|
committer | Michael Schuldt <michael.schuldt@bmw.de> | 2012-10-26 09:14:02 +0300 |
commit | 5dca78844c5417e0a1ddc1c7ecf7a1d52851f224 (patch) | |
tree | 6822f7629640cabbaa4b694911ac495664ffb99c | |
parent | 8ef4c0c9073b3b6a7578cffd119fdf0be7963005 (diff) | |
download | layer_management-5dca78844c5417e0a1ddc1c7ecf7a1d52851f224.tar.gz |
ilmClient: added detection if ilm_init() was called multiple times
-rw-r--r-- | LayerManagerClient/ilmClient/src/generic_ilm_client.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/LayerManagerClient/ilmClient/src/generic_ilm_client.c b/LayerManagerClient/ilmClient/src/generic_ilm_client.c index da69878..39ad26e 100644 --- a/LayerManagerClient/ilmClient/src/generic_ilm_client.c +++ b/LayerManagerClient/ilmClient/src/generic_ilm_client.c @@ -63,6 +63,8 @@ mqd_t incomingMqWrite; mqd_t notificationMqRead; mqd_t notificationMqWrite; +static t_ilm_bool gInitialized = ILM_FALSE; + //============================================================================= // notification management //============================================================================= @@ -400,6 +402,12 @@ ilmErrorTypes ilm_init() { ilmErrorTypes result = ILM_FAILED; + if (gInitialized) + { + printf("ilm_init() was called, but ilmClientLib is already initialized. returning success, but initialization was skipped this time.\n"); + return ILM_SUCCESS; + } + initNotificationCallbacks(); if (loadIpcModule(&gIpcModule)) @@ -491,6 +499,8 @@ ilmErrorTypes ilm_init() gIpcModule.destroyMessage(command); } + gInitialized = (result == ILM_SUCCESS) ? ILM_TRUE : ILM_FALSE; + return result; } @@ -535,6 +545,8 @@ ilmErrorTypes ilm_destroy() mq_close(incomingMqRead); mq_close(incomingMqWrite); + gInitialized = ILM_FALSE; + return ILM_SUCCESS; } |