New pseudo extension isoburn_igopt_will_cancel to avoid MISHAP event

This commit is contained in:
Thomas Schmitt 2010-11-24 10:08:56 +00:00
parent 06c84ae7b0
commit da0d20731d
4 changed files with 13 additions and 2 deletions

View File

@ -456,6 +456,7 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
isoburn_report_iso_error(ret, "Cannot create iso_write_opts", 0, "FATAL",0);
goto ex;
}
iso_write_opts_set_will_cancel(wopts, opts->will_cancel);
iso_write_opts_set_iso_level(wopts, opts->level);
iso_write_opts_set_rockridge(wopts, opts->rockridge);
iso_write_opts_set_joliet(wopts, opts->joliet);
@ -994,6 +995,7 @@ int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext)
o->session_md5= !!(ext & 64);
o->file_md5= (ext & (128 | 256)) >> 7;
o->no_emul_toc= !!(ext & 512);
o->will_cancel= !!(ext & 1024);
return(1);
}
@ -1003,7 +1005,7 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext)
*ext= (!!o->rockridge) | ((!!o->joliet)<<1) | ((!!o->iso1999)<<2) |
((!!o->hardlinks) << 3) | ((!!o->aaip) << 5) |
((!!o->session_md5) << 6) | ((o->file_md5 & 3) << 7) |
((!!o->no_emul_toc) << 9);
((!!o->no_emul_toc) << 9) | ((o->will_cancel) << 10);
return(1);
}

View File

@ -345,6 +345,8 @@ struct isoburn_imgen_opts {
/* Options for image generation */
int will_cancel :1;
int level; /**< ISO level to write at. */
/** Which extensions to support. */

View File

@ -974,6 +974,12 @@ int isoburn_igopt_get_level(struct isoburn_imgen_opts *o, int *level);
the first session to LBA 32 and do not copy the first 64kB
of the first session to LBA 0, but rather write the first
session to LBA 0 directly.
bit10= will_cancel
@since 0.6.6
Announce to libisofs that only the image size is desired
and that the write thread will be cancelled by
isoburn_cancel_prepared_write() before actual image writing
occurs. Without this, cancellation can cause a MISHAP event.
@return 1 success, <=0 failure
*/
#define isoburn_igopt_rockridge 1
@ -985,6 +991,7 @@ int isoburn_igopt_get_level(struct isoburn_imgen_opts *o, int *level);
#define isoburn_igopt_file_md5 128
#define isoburn_igopt_file_stability 256
#define isoburn_igopt_no_emul_toc 512
#define isoburn_igopt_will_cancel 1024
int isoburn_igopt_set_extensions(struct isoburn_imgen_opts *o, int ext);
int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);

View File

@ -1 +1 @@
#define Xorriso_timestamP "2010.11.23.200346"
#define Xorriso_timestamP "2010.11.24.100845"