From: Seungbae Shin Date: Wed, 8 Aug 2018 10:47:47 +0000 (+0900) Subject: Avoid using non signal-aync-safety on signal handler as a common X-Git-Tag: submit/tizen_4.0/20180809.062717^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Faccepted%2Ftizen_4.0_unified;p=platform%2Fcore%2Fmultimedia%2Flibmm-session.git Avoid using non signal-aync-safety on signal handler as a common [Version] 0.2.20 [Issue Type] Dotnet Change-Id: Id999d039f11a907c5dd5858e2c6d2a1ba89369c2 --- diff --git a/mm_session.c b/mm_session.c index 6d2c86d..915982e 100644 --- a/mm_session.c +++ b/mm_session.c @@ -36,9 +36,7 @@ #define MAX_FILE_LENGTH 256 int g_session_type = -1; -#ifdef TIZEN_TV static char g_filename[64]; -#endif struct sigaction session_int_old_action; struct sigaction session_abrt_old_action; @@ -389,19 +387,11 @@ void __session_signal_handler(int signo, siginfo_t *siginfo, void *context) { sigset_t old_mask, all_mask; -#ifndef TIZEN_TV - debug_warning("ENTER, signo(%d), siginfo(%p), context(%p)", signo, siginfo, context); -#endif - /* signal block -------------- */ sigfillset(&all_mask); sigprocmask(SIG_BLOCK, &all_mask, &old_mask); -#ifndef TIZEN_TV - _mm_session_util_delete_information(-1); -#else unlink(g_filename); -#endif sigprocmask(SIG_SETMASK, &old_mask, NULL); /* signal unblock ------------ */ @@ -446,13 +436,8 @@ void __session_signal_handler(int signo, siginfo_t *siginfo, void *context) default: break; } - -#ifndef TIZEN_TV - debug_warning("LEAVE"); -#endif } -#ifdef TIZEN_TV EXPORT_API void mm_session_dotnet_cleanup(int signo) { @@ -468,7 +453,6 @@ static bool _is_dotnet_app(void) else return false; } -#endif static void _mm_session_util_clear_information(void) { @@ -494,13 +478,11 @@ void __mmsession_initialize(void) _mm_session_util_clear_information(); -#ifdef TIZEN_TV if (_is_dotnet_app()) { debug_warning("no signal handler for dotnet!!"); snprintf(g_filename, sizeof(g_filename)-1, "/tmp/mm-session/mm_session_%d", getpid()); return; } -#endif session_action.sa_sigaction = __session_signal_handler; session_action.sa_flags = SA_NOCLDSTOP | SA_SIGINFO; @@ -523,12 +505,12 @@ void __mmsession_finalize(void) debug_fenter(); _mm_session_util_delete_information(-1); -#ifdef TIZEN_TV + if (_is_dotnet_app()) { debug_warning("no signal handler for dotnet!!"); return; } -#endif + sigaction(SIGINT, &session_int_old_action, NULL); sigaction(SIGABRT, &session_abrt_old_action, NULL); sigaction(SIGSEGV, &session_segv_old_action, NULL); diff --git a/mm_session.h b/mm_session.h index 3292397..7721fba 100644 --- a/mm_session.h +++ b/mm_session.h @@ -230,9 +230,7 @@ int mm_session_get_current_information(int *session_type, int *session_options); */ int mm_session_update_option(session_update_type_t update_type, int options); -#ifdef TIZEN_TV void mm_session_dotnet_cleanup(int signo); -#endif /** @} diff --git a/packaging/libmm-session.spec b/packaging/libmm-session.spec index 96696a3..c0f76cb 100644 --- a/packaging/libmm-session.spec +++ b/packaging/libmm-session.spec @@ -1,6 +1,6 @@ Name: libmm-session Summary: Multimedia Session Library -Version: 0.2.19 +Version: 0.2.20 Release: 0 Group: Multimedia/Libraries License: Apache-2.0