New pseudo extension isoburn_igopt_will_cancel to avoid MISHAP event
This commit is contained in:
parent
06c84ae7b0
commit
da0d20731d
@ -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);
|
isoburn_report_iso_error(ret, "Cannot create iso_write_opts", 0, "FATAL",0);
|
||||||
goto ex;
|
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_iso_level(wopts, opts->level);
|
||||||
iso_write_opts_set_rockridge(wopts, opts->rockridge);
|
iso_write_opts_set_rockridge(wopts, opts->rockridge);
|
||||||
iso_write_opts_set_joliet(wopts, opts->joliet);
|
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->session_md5= !!(ext & 64);
|
||||||
o->file_md5= (ext & (128 | 256)) >> 7;
|
o->file_md5= (ext & (128 | 256)) >> 7;
|
||||||
o->no_emul_toc= !!(ext & 512);
|
o->no_emul_toc= !!(ext & 512);
|
||||||
|
o->will_cancel= !!(ext & 1024);
|
||||||
return(1);
|
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) |
|
*ext= (!!o->rockridge) | ((!!o->joliet)<<1) | ((!!o->iso1999)<<2) |
|
||||||
((!!o->hardlinks) << 3) | ((!!o->aaip) << 5) |
|
((!!o->hardlinks) << 3) | ((!!o->aaip) << 5) |
|
||||||
((!!o->session_md5) << 6) | ((o->file_md5 & 3) << 7) |
|
((!!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);
|
return(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -345,6 +345,8 @@ struct isoburn_imgen_opts {
|
|||||||
|
|
||||||
/* Options for image generation */
|
/* Options for image generation */
|
||||||
|
|
||||||
|
int will_cancel :1;
|
||||||
|
|
||||||
int level; /**< ISO level to write at. */
|
int level; /**< ISO level to write at. */
|
||||||
|
|
||||||
/** Which extensions to support. */
|
/** Which extensions to support. */
|
||||||
|
@ -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
|
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
|
of the first session to LBA 0, but rather write the first
|
||||||
session to LBA 0 directly.
|
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
|
@return 1 success, <=0 failure
|
||||||
*/
|
*/
|
||||||
#define isoburn_igopt_rockridge 1
|
#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_md5 128
|
||||||
#define isoburn_igopt_file_stability 256
|
#define isoburn_igopt_file_stability 256
|
||||||
#define isoburn_igopt_no_emul_toc 512
|
#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_set_extensions(struct isoburn_imgen_opts *o, int ext);
|
||||||
int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
|
int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2010.11.23.200346"
|
#define Xorriso_timestamP "2010.11.24.100845"
|
||||||
|
Loading…
Reference in New Issue
Block a user