Prevented potential memory fault with burn_set_signal_handling()
This commit is contained in:
parent
86992a38d3
commit
52257d6c8d
@ -1 +1 @@
|
|||||||
#define Cdrskin_timestamP "2010.03.07.081704"
|
#define Cdrskin_timestamP "2010.03.08.092608"
|
||||||
|
@ -490,7 +490,8 @@ void burn_set_signal_handling(void *handle, burn_abort_handler_t handler,
|
|||||||
|
|
||||||
}
|
}
|
||||||
strcpy(abort_message_prefix, "libburn : ");
|
strcpy(abort_message_prefix, "libburn : ");
|
||||||
if(handle != NULL)
|
abort_message_prefix[0] = 0;
|
||||||
|
if(handle != NULL && handler == burn_builtin_abort_handler)
|
||||||
strncpy(abort_message_prefix, (char *) handle,
|
strncpy(abort_message_prefix, (char *) handle,
|
||||||
sizeof(abort_message_prefix)-1);
|
sizeof(abort_message_prefix)-1);
|
||||||
abort_message_prefix[sizeof(abort_message_prefix)-1] = 0;
|
abort_message_prefix[sizeof(abort_message_prefix)-1] = 0;
|
||||||
|
@ -2802,8 +2802,10 @@ typedef int (*burn_abort_handler_t)(void *handle, int signum, int flag);
|
|||||||
Depending on mode it may cancel all drive operations, wait for all drives
|
Depending on mode it may cancel all drive operations, wait for all drives
|
||||||
to become idle, exit(1). It may also prepare function
|
to become idle, exit(1). It may also prepare function
|
||||||
burn_drive_get_status() for waiting and performing exit(1).
|
burn_drive_get_status() for waiting and performing exit(1).
|
||||||
If text is not NULL then it is used as prefix for pacifier messages of
|
If parameter handle may be NULL or a text that shall be used as prefix for
|
||||||
burn_abort_pacifier().
|
pacifier messages of burn_abort_pacifier(). Other than with an application
|
||||||
|
provided handler, the prefix char array does not have to be kept existing
|
||||||
|
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 FreeBSD 8.0 sometimes pauses the other threads until the signal handler
|
||||||
|
Loading…
Reference in New Issue
Block a user