From f8be7e46ab2e8466836d05b5bdefa2a0e273a400 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sun, 21 Jul 2013 17:07:53 +0000 Subject: [PATCH] Bug fix: The signal handler aborted on SIGCONT, SIGTSTP, SIGTTIN, SIGTTOU --- cdrskin/cdrskin_timestamp.h | 2 +- libburn/os-dummy.h | 16 ++++++++-------- libburn/os-freebsd.h | 22 +++++++++------------- libburn/os-libcdio.h | 16 ++++++++-------- libburn/os-linux.h | 22 ++++++++++------------ libburn/os-solaris.h | 15 +++++++-------- 6 files changed, 43 insertions(+), 50 deletions(-) diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 1ac7f4a..337377a 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2013.07.08.151826" +#define Cdrskin_timestamP "2013.07.21.170714" diff --git a/libburn/os-dummy.h b/libburn/os-dummy.h index 6909c5c..8722fe2 100644 --- a/libburn/os-dummy.h +++ b/libburn/os-dummy.h @@ -5,7 +5,8 @@ Unknown POSIX like systems with the dummy MMC transport adapter sg-dummy.c - Copyright (C) 2009 Thomas Schmitt , provided under GPLv2+ + Copyright (C) 2009 - 2013 Thomas Schmitt + Provided under GPLv2+ */ @@ -16,18 +17,16 @@ #define BURN_OS_SIGNAL_MACRO_LIST \ SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGABRT, \ SIGFPE, SIGSEGV, SIGPIPE, SIGALRM, SIGTERM, \ - SIGUSR1, SIGUSR2, SIGXCPU, SIGTSTP, SIGTTIN, \ - SIGTTOU + SIGUSR1, SIGUSR2, SIGXCPU /* Once as text 1:1 list of strings for messages and interpreters */ #define BURN_OS_SIGNAL_NAME_LIST \ "SIGHUP", "SIGINT", "SIGQUIT", "SIGILL", "SIGABRT", \ "SIGFPE", "SIGSEGV", "SIGPIPE", "SIGALRM", "SIGTERM", \ - "SIGUSR1", "SIGUSR2", "SIGXCPU", "SIGTSTP", "SIGTTIN", \ - "SIGTTOU" + "SIGUSR1", "SIGUSR2", "SIGXCPU" /* The number of above list items */ -#define BURN_OS_SIGNAL_COUNT 16 +#define BURN_OS_SIGNAL_COUNT 13 /** The list of all signals which shall surely not be caught. It depends on the particular signal whether it can be ignored or whether @@ -55,11 +54,12 @@ /** The combined list of all signals which shall not be caught. */ #define BURN_OS_NON_SIGNAL_MACRO_LIST \ -SIGKILL, SIGCHLD, SIGSTOP BURN_OS_SIG_WINCH BURN_OS_SIG_URG +SIGKILL, SIGCHLD, SIGSTOP, SIGTSTP, SIGCONT, SIGTTIN, SIGTTOU \ +BURN_OS_SIG_WINCH BURN_OS_SIG_URG /* The number of above list items */ #define BURN_OS_NON_SIGNAL_COUNT \ -( 3 + BURN_OS_SIG_WINCH_CNT + BURN_OS_SIG_URG_CNT ) +( 7 + BURN_OS_SIG_WINCH_CNT + BURN_OS_SIG_URG_CNT ) /* The maximum size for a (SCSI) i/o transaction */ diff --git a/libburn/os-freebsd.h b/libburn/os-freebsd.h index 1f0793d..a3fa876 100644 --- a/libburn/os-freebsd.h +++ b/libburn/os-freebsd.h @@ -4,8 +4,8 @@ by os.h in case of compilation for FreeBSD with CAM - Copyright (C) 2006 - 2010 Thomas Schmitt , - provided under GPLv2+ + Copyright (C) 2006 - 2013 Thomas Schmitt , + Provided under GPLv2+ */ /** List of all signals which shall be caught by signal handlers and trigger @@ -15,29 +15,25 @@ #define BURN_OS_SIGNAL_MACRO_LIST \ SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGABRT, \ SIGFPE, SIGSEGV, SIGPIPE, SIGALRM, SIGTERM, \ - SIGUSR1, SIGUSR2, SIGXCPU, SIGTSTP, SIGTTIN, \ - SIGTTOU, \ - SIGBUS, SIGPROF, SIGSYS, SIGTRAP, \ - SIGVTALRM, SIGXCPU, SIGXFSZ + SIGUSR1, SIGUSR2, SIGXCPU, SIGBUS, SIGPROF, \ + SIGSYS, SIGTRAP, SIGVTALRM, SIGXCPU, SIGXFSZ /* Once as text 1:1 list of strings for messages and interpreters */ #define BURN_OS_SIGNAL_NAME_LIST \ "SIGHUP", "SIGINT", "SIGQUIT", "SIGILL", "SIGABRT", \ "SIGFPE", "SIGSEGV", "SIGPIPE", "SIGALRM", "SIGTERM", \ - "SIGUSR1", "SIGUSR2", "SIGXCPU", "SIGTSTP", "SIGTTIN", \ - "SIGTTOU", \ - "SIGBUS", "SIGPROF", "SIGSYS", "SIGTRAP", \ - "SIGVTALRM", "SIGXCPU", "SIGXFSZ" + "SIGUSR1", "SIGUSR2", "SIGXCPU", "SIGBUS", "SIGPROF", \ + "SIGSYS", "SIGTRAP", "SIGVTALRM", "SIGXCPU", "SIGXFSZ" /* The number of above list items */ -#define BURN_OS_SIGNAL_COUNT 23 +#define BURN_OS_SIGNAL_COUNT 20 /** To list all signals which shall surely not be caught */ #define BURN_OS_NON_SIGNAL_MACRO_LIST \ -SIGKILL, SIGCHLD, SIGSTOP, SIGURG, SIGWINCH +SIGKILL, SIGCHLD, SIGSTOP, SIGTSTP, SIGCONT, SIGTTIN, SIGTTOU, SIGURG, SIGWINCH /* The number of above list items */ -#define BURN_OS_NON_SIGNAL_COUNT 5 +#define BURN_OS_NON_SIGNAL_COUNT 9 /* The maximum size for a (SCSI) i/o transaction */ diff --git a/libburn/os-libcdio.h b/libburn/os-libcdio.h index 87d4132..c21203c 100644 --- a/libburn/os-libcdio.h +++ b/libburn/os-libcdio.h @@ -5,7 +5,8 @@ Unknown X/Open-like systems with GNU libcdio MMC transport adapter sg-libcdio.c - Copyright (C) 2009 Thomas Schmitt , provided under GPLv2+ + Copyright (C) 2009 - 2013 Thomas Schmitt + Provided under GPLv2+ */ @@ -16,18 +17,16 @@ #define BURN_OS_SIGNAL_MACRO_LIST \ SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGABRT, \ SIGFPE, SIGSEGV, SIGPIPE, SIGALRM, SIGTERM, \ - SIGUSR1, SIGUSR2, SIGXCPU, SIGTSTP, SIGTTIN, \ - SIGTTOU + SIGUSR1, SIGUSR2, SIGXCPU /* Once as text 1:1 list of strings for messages and interpreters */ #define BURN_OS_SIGNAL_NAME_LIST \ "SIGHUP", "SIGINT", "SIGQUIT", "SIGILL", "SIGABRT", \ "SIGFPE", "SIGSEGV", "SIGPIPE", "SIGALRM", "SIGTERM", \ - "SIGUSR1", "SIGUSR2", "SIGXCPU", "SIGTSTP", "SIGTTIN", \ - "SIGTTOU" + "SIGUSR1", "SIGUSR2", "SIGXCPU" /* The number of above list items */ -#define BURN_OS_SIGNAL_COUNT 16 +#define BURN_OS_SIGNAL_COUNT 13 /** The list of all signals which shall surely not be caught. @@ -56,11 +55,12 @@ /** The combined list of all signals which shall not be caught. */ #define BURN_OS_NON_SIGNAL_MACRO_LIST \ -SIGKILL, SIGCHLD, SIGSTOP BURN_OS_SIG_WINCH BURN_OS_SIG_URG +SIGKILL, SIGCHLD, SIGSTOP, SIGTSTP, SIGCONT, SIGTTIN, SIGTTOU \ +BURN_OS_SIG_WINCH BURN_OS_SIG_URG /* The number of above list items */ #define BURN_OS_NON_SIGNAL_COUNT \ -( 3 + BURN_OS_SIG_WINCH_CNT + BURN_OS_SIG_URG_CNT ) +( 7 + BURN_OS_SIG_WINCH_CNT + BURN_OS_SIG_URG_CNT ) /* The maximum size for a (SCSI) i/o transaction */ diff --git a/libburn/os-linux.h b/libburn/os-linux.h index 9cda5ce..b77d1e8 100644 --- a/libburn/os-linux.h +++ b/libburn/os-linux.h @@ -4,7 +4,7 @@ by os.h in case of compilation for Linux kernels 2.4 and 2.6, GNU/Linux SCSI Generic (sg) - Copyright (C) 2006 - 2010 Thomas Schmitt + Copyright (C) 2006 - 2013 Thomas Schmitt Provided under GPL version 2 or later. */ @@ -16,29 +16,27 @@ #define BURN_OS_SIGNAL_MACRO_LIST \ SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGABRT, \ SIGFPE, SIGSEGV, SIGPIPE, SIGALRM, SIGTERM, \ - SIGUSR1, SIGUSR2, SIGXCPU, SIGTSTP, SIGTTIN, \ - SIGTTOU, \ - SIGBUS, SIGPOLL, SIGPROF, SIGSYS, SIGTRAP, \ - SIGVTALRM, SIGXCPU, SIGXFSZ + SIGUSR1, SIGUSR2, SIGXCPU, SIGBUS, SIGPOLL, \ + SIGPROF, SIGSYS, SIGTRAP, SIGVTALRM, SIGXCPU, \ + SIGXFSZ /* Once as text 1:1 list of strings for messages and interpreters */ #define BURN_OS_SIGNAL_NAME_LIST \ "SIGHUP", "SIGINT", "SIGQUIT", "SIGILL", "SIGABRT", \ "SIGFPE", "SIGSEGV", "SIGPIPE", "SIGALRM", "SIGTERM", \ - "SIGUSR1", "SIGUSR2", "SIGXCPU", "SIGTSTP", "SIGTTIN", \ - "SIGTTOU", \ - "SIGBUS", "SIGPOLL", "SIGPROF", "SIGSYS", "SIGTRAP", \ - "SIGVTALRM", "SIGXCPU", "SIGXFSZ" + "SIGUSR1", "SIGUSR2", "SIGXCPU", "SIGBUS", "SIGPOLL", \ + "SIGPROF", "SIGSYS", "SIGTRAP", "SIGVTALRM", "SIGXCPU", \ + "SIGXFSZ" /* The number of above list items */ -#define BURN_OS_SIGNAL_COUNT 24 +#define BURN_OS_SIGNAL_COUNT 21 /** To list all signals which shall surely not be caught */ #define BURN_OS_NON_SIGNAL_MACRO_LIST \ -SIGKILL, SIGCHLD, SIGSTOP, SIGURG, SIGWINCH +SIGKILL, SIGCHLD, SIGSTOP, SIGTSTP, SIGCONT, SIGURG, SIGWINCH, SIGTTIN, SIGTTOU /* The number of above list items */ -#define BURN_OS_NON_SIGNAL_COUNT 5 +#define BURN_OS_NON_SIGNAL_COUNT 9 /* The maximum size for a (SCSI) i/o transaction */ diff --git a/libburn/os-solaris.h b/libburn/os-solaris.h index d72b40b..27330e6 100644 --- a/libburn/os-solaris.h +++ b/libburn/os-solaris.h @@ -5,7 +5,8 @@ Solaris based systems, e.g. SunOS 5.11 with Solaris uscsi MMC transport adapter sg-solaris.c - Copyright (C) 2010 Thomas Schmitt , provided under GPLv2+ + Copyright (C) 2010 - 2013 Thomas Schmitt + provided under GPLv2+ */ @@ -16,25 +17,23 @@ #define BURN_OS_SIGNAL_MACRO_LIST \ SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGABRT, \ SIGFPE, SIGSEGV, SIGPIPE, SIGALRM, SIGTERM, \ - SIGUSR1, SIGUSR2, SIGXCPU, SIGTSTP, SIGTTIN, \ - SIGTTOU + SIGUSR1, SIGUSR2, SIGXCPU /* Once as text 1:1 list of strings for messages and interpreters */ #define BURN_OS_SIGNAL_NAME_LIST \ "SIGHUP", "SIGINT", "SIGQUIT", "SIGILL", "SIGABRT", \ "SIGFPE", "SIGSEGV", "SIGPIPE", "SIGALRM", "SIGTERM", \ - "SIGUSR1", "SIGUSR2", "SIGXCPU", "SIGTSTP", "SIGTTIN", \ - "SIGTTOU" + "SIGUSR1", "SIGUSR2", "SIGXCPU" /* The number of above list items */ -#define BURN_OS_SIGNAL_COUNT 16 +#define BURN_OS_SIGNAL_COUNT 13 /** To list all signals which shall surely not be caught */ #define BURN_OS_NON_SIGNAL_MACRO_LIST \ -SIGKILL, SIGCHLD, SIGSTOP, SIGURG, SIGWINCH +SIGKILL, SIGCHLD, SIGSTOP, SIGTSTP, SIGCONT, SIGTTIN, SIGTTOU, SIGURG, SIGWINCH /* The number of above list items */ -#define BURN_OS_NON_SIGNAL_COUNT 5 +#define BURN_OS_NON_SIGNAL_COUNT 9 /* The maximum size for a (SCSI) i/o transaction */