Browse Source

Bug fix: Interrupting libburn while drive tray is loading led to endless loop

1.2.0
Thomas Schmitt 11 years ago
parent
commit
56c02fa394
  1. 2
      cdrskin/cdrskin_timestamp.h
  2. 4
      libburn/drive.c
  3. 2
      libburn/spc.c

2
cdrskin/cdrskin_timestamp.h

@ -1 +1 @@
#define Cdrskin_timestamP "2011.11.30.131608"
#define Cdrskin_timestamP "2011.12.02.100148"

4
libburn/drive.c

@ -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);

2
libburn/spc.c

@ -210,6 +210,8 @@ handle_error:;
goto handle_error;
slumber:;
if (d->cancel)
break;
usleep(sleep_usecs);
}
if (ret <= 0 || !(flag & 2)) {

Loading…
Cancel
Save