Better reaction on drive errors during burn_drive_scan_and_grab()

This commit is contained in:
Thomas Schmitt 2013-11-21 09:21:29 +00:00
parent 5f6281261d
commit 7f99a8e70e
2 changed files with 8 additions and 2 deletions

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2013.11.17.152544" #define Cdrskin_timestamP "2013.11.21.092012"

View File

@ -537,6 +537,10 @@ int burn_drive_grab(struct burn_drive *d, int le)
{ret = 0; goto ex;} {ret = 0; goto ex;}
ex:; ex:;
if (d->cancel || burn_is_aborting(0)) {
d->unlock(d);
d->release(d);
}
d->silent_on_scsi_error = sose; d->silent_on_scsi_error = sose;
d->busy = BURN_DRIVE_IDLE; d->busy = BURN_DRIVE_IDLE;
burn_grab_restore_sig_action(signal_action_mem, 0); burn_grab_restore_sig_action(signal_action_mem, 0);
@ -1870,8 +1874,10 @@ int burn_drive_scan_and_grab(struct burn_drive_info *drive_infos[], char* adr,
*/ */
ret = burn_drive_grab(drive_infos[0]->drive, load); ret = burn_drive_grab(drive_infos[0]->drive, load);
if (ret != 1) if (ret != 1) {
burn_drive_forget(drive_infos[0]->drive, 0);
return -1; return -1;
}
return 1; return 1;
} }