From 5920547d5002b05416a50118888d550f84125b93 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Tue, 9 Mar 2010 14:01:57 +0000 Subject: [PATCH] Clarifications in API description of burn_set_signal_handling() --- libburn/trunk/cdrskin/cdrskin_timestamp.h | 2 +- libburn/trunk/libburn/libburn.h | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index cce0cb86..0f20dfcd 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2010.03.08.092608" +#define Cdrskin_timestamP "2010.03.09.140341" diff --git a/libburn/trunk/libburn/libburn.h b/libburn/trunk/libburn/libburn.h index e0c04d1b..c8bcc35c 100644 --- a/libburn/trunk/libburn/libburn.h +++ b/libburn/trunk/libburn/libburn.h @@ -2808,12 +2808,14 @@ typedef int (*burn_abort_handler_t)(void *handle, int signum, int flag); until the eventual signal event. Before version 0.7.8 only action 0 was available. I.e. the built-in handler waited for the drives to become idle and then performed exit(1) directly. - But FreeBSD 8.0 sometimes pauses the other threads until the signal handler - returns. + But during burn_disc_write() onto real CD or DVD, FreeBSD 8.0 pauses the + other threads until the signal handler returns. The new actions try to avoid this deadlock. It is advised to use action 3 + at least during burn_disc_write(), burn_disc_rease(), burn_disc_format(): burn_set_signal_handling(text, NULL, 0x30); - and call burn_is_aborting(0) frequently. If it replies 1, then call - burn_abort() and exit(1). + and to call burn_is_aborting(0) when the drive is BURN_DRIVE_IDLE. + If burn_is_aborting(0) returns 1, then call burn_abort() and exit(1). + @param handle Opaque handle eventually pointing to an application provided memory object @param handler A function to be called on signals. It will get handle as