Bug fix: Interrupting libburn while drive tray is loading led to endless loop
This commit is contained in:
parent
7a5f1ab35c
commit
56c02fa394
@ -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(force < 1)
|
||||
return 0;
|
||||
if(occup >= 10)
|
||||
if(occup > 10)
|
||||
return 0;
|
||||
|
||||
/* >>> 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)
|
||||
/* occup == -1 comes early */
|
||||
usleep(1000000);
|
||||
|
@ -210,6 +210,8 @@ handle_error:;
|
||||
goto handle_error;
|
||||
|
||||
slumber:;
|
||||
if (d->cancel)
|
||||
break;
|
||||
usleep(sleep_usecs);
|
||||
}
|
||||
if (ret <= 0 || !(flag & 2)) {
|
||||
|
Loading…
Reference in New Issue
Block a user