From 73180fc762f015935950f697822710af3f5bd23d Mon Sep 17 00:00:00 2001 From: ManikandanC Date: Fri, 6 Oct 2017 11:37:31 +0530 Subject: Use poll in the dlt-daemon for POSIX compliance The poll system call is now used in the daemon to enable DLT use in POSIX compliant systems. Also added introduced new unregister_app macro to avoid missing of logs in startup buffer. Signed-off-by: Frederic Berat Signed-off-by: ManikandanC Signed-off-by: Saya Sugiura Signed-off-by: S. Hameed --- include/dlt/dlt_common.h | 4 ++++ include/dlt/dlt_user.h | 7 +++++++ include/dlt/dlt_user_macros.h | 6 ++++++ 3 files changed, 17 insertions(+) (limited to 'include') diff --git a/include/dlt/dlt_common.h b/include/dlt/dlt_common.h index 2824efd..59b58fa 100644 --- a/include/dlt/dlt_common.h +++ b/include/dlt/dlt_common.h @@ -76,7 +76,11 @@ */ #include +#ifdef __linux__ #include +#else +#include +#endif #if !defined(_MSC_VER) #include diff --git a/include/dlt/dlt_user.h b/include/dlt/dlt_user.h index 7b0aa8d..82e5e31 100644 --- a/include/dlt/dlt_user.h +++ b/include/dlt/dlt_user.h @@ -499,6 +499,13 @@ DltReturnValue dlt_register_app(const char *appid, const char * description); */ DltReturnValue dlt_unregister_app(void); +/** + * Unregister an application in the daemon and also flushes the buffered logs. + * This function has to be called when finishing using an application. + * @return Value from DltReturnValue enum + */ +DltReturnValue dlt_unregister_app_flush_buffered_logs(void); + /** * Register a context in the daemon. * This function has to be called before first usage of the context. diff --git a/include/dlt/dlt_user_macros.h b/include/dlt/dlt_user_macros.h index e1968a2..d50b335 100644 --- a/include/dlt/dlt_user_macros.h +++ b/include/dlt/dlt_user_macros.h @@ -120,6 +120,12 @@ #define DLT_UNREGISTER_APP() do{\ (void)dlt_unregister_app();} while(0) +/** + * Unregister application and flush the logs buffered in startup buffer if any. + */ +#define DLT_UNREGISTER_APP_FLUSH_BUFFERED_LOGS() do{\ + (void)dlt_unregister_app_flush_buffered_logs();} while(0) + /** * Register context (with default log level and default trace status) * @param CONTEXT object containing information about one special logging context -- cgit v1.2.1