Clarifications in API description of burn_set_signal_handling()
This commit is contained in:
parent
cdad7fcd80
commit
196ef37108
@ -1 +1 @@
|
|||||||
#define Cdrskin_timestamP "2010.03.08.092608"
|
#define Cdrskin_timestamP "2010.03.09.140341"
|
||||||
|
@ -2808,12 +2808,14 @@ typedef int (*burn_abort_handler_t)(void *handle, int signum, int flag);
|
|||||||
until the eventual signal event.
|
until the eventual signal event.
|
||||||
Before version 0.7.8 only action 0 was available. I.e. the built-in handler
|
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.
|
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
|
But during burn_disc_write() onto real CD or DVD, FreeBSD 8.0 pauses the
|
||||||
returns.
|
other threads until the signal handler returns.
|
||||||
The new actions try to avoid this deadlock. It is advised to use action 3
|
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);
|
burn_set_signal_handling(text, NULL, 0x30);
|
||||||
and call burn_is_aborting(0) frequently. If it replies 1, then call
|
and to call burn_is_aborting(0) when the drive is BURN_DRIVE_IDLE.
|
||||||
burn_abort() and exit(1).
|
If burn_is_aborting(0) returns 1, then call burn_abort() and exit(1).
|
||||||
|
|
||||||
@param handle Opaque handle eventually pointing to an application
|
@param handle Opaque handle eventually pointing to an application
|
||||||
provided memory object
|
provided memory object
|
||||||
@param handler A function to be called on signals. It will get handle as
|
@param handler A function to be called on signals. It will get handle as
|
||||||
|
Loading…
x
Reference in New Issue
Block a user