diff --git a/common/utils/itti/intertask_interface.c b/common/utils/itti/intertask_interface.c
index e6c5d4ec5c187cdad207a1f0c813e72921f0a7eb..299ef66a0d2c42ec22374e4a4ceca4806f04c7a5 100644
--- a/common/utils/itti/intertask_interface.c
+++ b/common/utils/itti/intertask_interface.c
@@ -471,6 +471,8 @@ void itti_wait_tasks_end(void) {
ITTI_DEBUG("Some threads are still running, force exit\n");
exit (0);
}
+
+ itti_dump_exit();
}
void itti_send_terminate_message(task_id_t task_id) {
diff --git a/common/utils/itti/intertask_interface_dump.c b/common/utils/itti/intertask_interface_dump.c
index 788b7d4a5cef1aab9efb5b6dfe3ecddf797d66ca..ab67d0880090c5608568c9cd0a66c9273a0a14f4 100644
--- a/common/utils/itti/intertask_interface_dump.c
+++ b/common/utils/itti/intertask_interface_dump.c
@@ -557,3 +557,12 @@ int itti_dump_init(const char * const messages_definition_xml, const char * cons
}
return 0;
}
+
+void itti_dump_exit(void)
+{
+ if (dump_file != NULL)
+ {
+ fclose(dump_file);
+ }
+}
+
diff --git a/common/utils/itti/intertask_interface_dump.h b/common/utils/itti/intertask_interface_dump.h
index 3da638f5d16b7bb5d4d0892139cf8d752e85d7f0..d691316c0a2d213469ecaa82b8f4092998b3e6dd 100644
--- a/common/utils/itti/intertask_interface_dump.h
+++ b/common/utils/itti/intertask_interface_dump.h
@@ -36,4 +36,6 @@ int itti_dump_queue_message(message_number_t message_number, MessageDef *message
int itti_dump_init(const char * const messages_definition_xml, const char * const dump_file_name);
+void itti_dump_exit(void);
+
#endif /* INTERTASK_INTERFACE_DUMP_H_ */