static struct rpmsig_s {
int signum;
- void (*handler) (int signum, void * info, void * context);
+ rpmsqAction_t handler;
int active;
struct sigaction oact;
} rpmsigTbl[] = {
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);
*/
#include <rpm/rpmsw.h>
+#include <signal.h>
#ifdef __cplusplus
extern "C" {
* @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;