From: Panu Matilainen Date: Tue, 4 Nov 2008 08:28:20 +0000 (+0200) Subject: Fix building on systems where SA_SIGINFO isn't available (ticket #4) X-Git-Tag: tznext/4.11.0.1.tizen20130304~3497 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=73f61ecf05ff1679219e49bfd029a69da66bf35e;p=tools%2Flibrpm-tizen.git Fix building on systems where SA_SIGINFO isn't available (ticket #4) - patch from Adam Tkac --- diff --git a/rpmio/rpmsq.c b/rpmio/rpmsq.c index 45c9a60..d6d77f1 100644 --- a/rpmio/rpmsq.c +++ b/rpmio/rpmsq.c @@ -152,7 +152,7 @@ static sigset_t rpmsqCaught; static struct rpmsig_s { int signum; - void (*handler) (int signum, void * info, void * context); + rpmsqAction_t handler; int active; struct sigaction oact; } rpmsigTbl[] = { @@ -254,7 +254,11 @@ int rpmsqEnable(int signum, rpmsqAction_t handler) continue; (void) sigemptyset (&sa.sa_mask); +#ifdef SA_SIGINFO sa.sa_flags = SA_SIGINFO; +#else + sa.sa_flags = 0; +#endif sa.sa_sigaction = (void*)(handler != NULL ? handler : tbl->handler); if (sigaction(tbl->signum, &sa, &tbl->oact) < 0) { SUB_REF(tbl); diff --git a/rpmio/rpmsq.h b/rpmio/rpmsq.h index a78403b..0b34e03 100644 --- a/rpmio/rpmsq.h +++ b/rpmio/rpmsq.h @@ -7,6 +7,7 @@ */ #include +#include #ifdef __cplusplus extern "C" { @@ -26,7 +27,11 @@ typedef struct rpmsqElem * rpmsq; * @param info (siginfo_t) signal info * @param context signal context */ +#ifdef SA_SIGINFO typedef void (*rpmsqAction_t) (int signum, void * info, void * context); +#else +typedef void (*rpmsqAction_t) (int signum); +#endif extern int _rpmsq_debug;