Bug fix: Interrupting libburn while drive tray is loading led to endless loop
This commit is contained in:
parent
2cd0eb94d7
commit
cd95c451b6
@ -1 +1 @@
|
|||||||
#define Cdrskin_timestamP "2011.11.30.131608"
|
#define Cdrskin_timestamP "2011.12.02.100148"
|
||||||
|
@ -1341,7 +1341,7 @@ int burn_drive_forget(struct burn_drive *d, int force)
|
|||||||
if(occup > 0)
|
if(occup > 0)
|
||||||
if(force < 1)
|
if(force < 1)
|
||||||
return 0;
|
return 0;
|
||||||
if(occup >= 10)
|
if(occup > 10)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* >>> do any drive calming here */;
|
/* >>> do any drive calming here */;
|
||||||
@ -2317,7 +2317,7 @@ int burn_abort_5(int patience,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(occup < 10) {
|
if(occup <= 10) {
|
||||||
if (drive_array[i].drive_role != 1)
|
if (drive_array[i].drive_role != 1)
|
||||||
/* occup == -1 comes early */
|
/* occup == -1 comes early */
|
||||||
usleep(1000000);
|
usleep(1000000);
|
||||||
|
@ -210,6 +210,8 @@ handle_error:;
|
|||||||
goto handle_error;
|
goto handle_error;
|
||||||
|
|
||||||
slumber:;
|
slumber:;
|
||||||
|
if (d->cancel)
|
||||||
|
break;
|
||||||
usleep(sleep_usecs);
|
usleep(sleep_usecs);
|
||||||
}
|
}
|
||||||
if (ret <= 0 || !(flag & 2)) {
|
if (ret <= 0 || !(flag & 2)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user