[Version] 0.2.12
[Profile] Common
[Issue Type] Cleanup
Change-Id: Ic2094a74bc6ce02870076469088bf7fda39f1dc4
-void __session_signal_handler(int signo)
+void __session_signal_handler(int signo, siginfo_t *siginfo, void *context)
{
char filename[MAX_FILE_LENGTH];
char str_error[256];
{
char filename[MAX_FILE_LENGTH];
char str_error[256];
switch (signo) {
case SIGINT:
switch (signo) {
case SIGINT:
- sigaction(SIGINT, &session_int_old_action, NULL);
- raise(signo);
+ if (session_int_old_action.sa_sigaction)
+ session_int_old_action.sa_sigaction(signo, siginfo, context);
+ else
+ sigaction(signo, &session_int_old_action, NULL);
- sigaction(SIGABRT, &session_abrt_old_action, NULL);
- raise(signo);
+ if (session_abrt_old_action.sa_sigaction)
+ session_abrt_old_action.sa_sigaction(signo, siginfo, context);
+ else
+ sigaction(signo, &session_abrt_old_action, NULL);
- sigaction(SIGSEGV, &session_segv_old_action, NULL);
- raise(signo);
+ if (session_segv_old_action.sa_sigaction)
+ session_segv_old_action.sa_sigaction(signo, siginfo, context);
+ else
+ sigaction(signo, &session_segv_old_action, NULL);
- sigaction(SIGTERM, &session_term_old_action, NULL);
- raise(signo);
+ if (session_term_old_action.sa_sigaction)
+ session_term_old_action.sa_sigaction(signo, siginfo, context);
+ else
+ sigaction(signo, &session_term_old_action, NULL);
- sigaction(SIGSYS, &session_sys_old_action, NULL);
- raise(signo);
+ if (session_sys_old_action.sa_sigaction)
+ session_sys_old_action.sa_sigaction(signo, siginfo, context);
+ else
+ sigaction(signo, &session_sys_old_action, NULL);
- sigaction(SIGXCPU, &session_xcpu_old_action, NULL);
- raise(signo);
+ if (session_xcpu_old_action.sa_sigaction)
+ session_xcpu_old_action.sa_sigaction(signo, siginfo, context);
+ else
+ sigaction(signo, &session_xcpu_old_action, NULL);
void __mmsession_initialize(void)
{
struct sigaction session_action;
void __mmsession_initialize(void)
{
struct sigaction session_action;
- session_action.sa_handler = __session_signal_handler;
- session_action.sa_flags = SA_NOCLDSTOP;
+ session_action.sa_sigaction = __session_signal_handler;
+ session_action.sa_flags = SA_NOCLDSTOP | SA_SIGINFO;
Name: libmm-session
Summary: Multimedia Session Library
Name: libmm-session
Summary: Multimedia Session Library
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0