New option -signal_handling
This commit is contained in:
@ -1144,6 +1144,47 @@ ex:;
|
||||
}
|
||||
|
||||
|
||||
/* Option -signal_handling */
|
||||
/* @param flag bit0= prescan mode: do not yet install the eventual handler
|
||||
else: when switching from other modes to "off":
|
||||
activate mode "sig_dfl"
|
||||
*/
|
||||
int Xorriso_option_signal_handling(struct XorrisO *xorriso, char *mode,
|
||||
int flag)
|
||||
{
|
||||
int ret, behavior;
|
||||
|
||||
if (strcmp(mode, "off") == 0) {
|
||||
behavior= Xorriso__get_signal_behavior(0);
|
||||
if(flag & 1) {
|
||||
behavior= 0;
|
||||
} else if(behavior != 0) {
|
||||
sprintf(xorriso->info_text,
|
||||
"Signal handling mode \"off\" comes too late. Defaulted to \"sig_dfl\"\n");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0);
|
||||
behavior= 2;
|
||||
}
|
||||
} else if(strcmp(mode, "libburn") == 0 || strcmp(mode, "on") == 0) {
|
||||
behavior= 1;
|
||||
} else if (strcmp(mode, "sig_dfl") == 0) {
|
||||
behavior= 2;
|
||||
} else if (strcmp(mode, "sig_ign") == 0) {
|
||||
behavior= 3;
|
||||
} else {
|
||||
sprintf(xorriso->info_text, "-signal_handling: unknown mode '%s'", mode);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
Xorriso_msgs_submit(xorriso, 0,
|
||||
"Use one of: \"off\",\"on\",\"sig_dfl\",\"sig_ign\"", 0, "HINT", 0);
|
||||
return(0);
|
||||
}
|
||||
Xorriso__preset_signal_behavior(behavior, 0);
|
||||
if(flag & 1)
|
||||
return(1);
|
||||
ret= Xorriso_set_signal_handling(xorriso, 0);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
||||
/* Option -speed */
|
||||
int Xorriso_option_speed(struct XorrisO *xorriso, char *speed, int flag)
|
||||
{
|
||||
|
Reference in New Issue
Block a user