From 5c34993c7176d13ea09180f47cb6716507c7516f Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Tue, 15 Jun 2010 15:57:11 +0000 Subject: [PATCH] Let general POSIX system adapters ignore SIGWINCH and SIGURG if defined --- libburn/trunk/cdrskin/cdrskin_timestamp.h | 2 +- libburn/trunk/libburn/os-dummy.h | 31 +++++++++++++++++++--- libburn/trunk/libburn/os-libcdio.h | 32 ++++++++++++++++++++--- 3 files changed, 58 insertions(+), 7 deletions(-) diff --git a/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index 499bea32..366dbb28 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2010.06.15.155423" +#define Cdrskin_timestamP "2010.06.15.155625" diff --git a/libburn/trunk/libburn/os-dummy.h b/libburn/trunk/libburn/os-dummy.h index 30d62a41..6909c5c9 100644 --- a/libburn/trunk/libburn/os-dummy.h +++ b/libburn/trunk/libburn/os-dummy.h @@ -29,12 +29,37 @@ /* The number of above list items */ #define BURN_OS_SIGNAL_COUNT 16 -/** To list all signals which shall surely not be caught */ +/** The list of all signals which shall surely not be caught. + It depends on the particular signal whether it can be ignored or whether + it will lead to sudden death of the process. + Some signals are not POSIX, + but nevertheless ought to be ignored if they are defined. +*/ + +#ifdef SIGWINCH +#define BURN_OS_SIG_WINCH ,SIGWINCH +#define BURN_OS_SIG_WINCH_CNT 1 +#else +#define BURN_OS_SIG_WINCH +#define BURN_OS_SIG_WINCH_CNT 0 +#endif + +#ifdef SIGURG +#define BURN_OS_SIG_URG ,SIGURG +#define BURN_OS_SIG_URG_CNT 1 +#else +#define BURN_OS_SIG_URG +#define BURN_OS_SIG_URG_CNT 0 +#endif + +/** The combined list of all signals which shall not be caught. + */ #define BURN_OS_NON_SIGNAL_MACRO_LIST \ -SIGKILL, SIGCHLD, SIGSTOP +SIGKILL, SIGCHLD, SIGSTOP BURN_OS_SIG_WINCH BURN_OS_SIG_URG /* The number of above list items */ -#define BURN_OS_NON_SIGNAL_COUNT 3 +#define BURN_OS_NON_SIGNAL_COUNT \ +( 3 + BURN_OS_SIG_WINCH_CNT + BURN_OS_SIG_URG_CNT ) /* The maximum size for a (SCSI) i/o transaction */ diff --git a/libburn/trunk/libburn/os-libcdio.h b/libburn/trunk/libburn/os-libcdio.h index 55286ead..68c64ae6 100644 --- a/libburn/trunk/libburn/os-libcdio.h +++ b/libburn/trunk/libburn/os-libcdio.h @@ -29,12 +29,38 @@ /* The number of above list items */ #define BURN_OS_SIGNAL_COUNT 16 -/** To list all signals which shall surely not be caught */ + +/** The list of all signals which shall surely not be caught. + It depends on the particular signal whether it can be ignored or whether + it will lead to sudden death of the process. + Some signals are not POSIX, + but nevertheless ought to be ignored if they are defined. +*/ + +#ifdef SIGWINCH +#define BURN_OS_SIG_WINCH ,SIGWINCH +#define BURN_OS_SIG_WINCH_CNT 1 +#else +#define BURN_OS_SIG_WINCH +#define BURN_OS_SIG_WINCH_CNT 0 +#endif + +#ifdef SIGURG +#define BURN_OS_SIG_URG ,SIGURG +#define BURN_OS_SIG_URG_CNT 1 +#else +#define BURN_OS_SIG_URG +#define BURN_OS_SIG_URG_CNT 0 +#endif + +/** The combined list of all signals which shall not be caught. + */ #define BURN_OS_NON_SIGNAL_MACRO_LIST \ -SIGKILL, SIGCHLD, SIGSTOP +SIGKILL, SIGCHLD, SIGSTOP BURN_OS_SIG_WINCH BURN_OS_SIG_URG /* The number of above list items */ -#define BURN_OS_NON_SIGNAL_COUNT 3 +#define BURN_OS_NON_SIGNAL_COUNT \ +( 3 + BURN_OS_SIG_WINCH_CNT + BURN_OS_SIG_URG_CNT ) /* The maximum size for a (SCSI) i/o transaction */