diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 9553b00..aefec21 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2009.03.02.170126" +#define Cdrskin_timestamP "2009.03.02.193353" diff --git a/libburn/drive.c b/libburn/drive.c index afbfbe5..ec4f5fc 100644 --- a/libburn/drive.c +++ b/libburn/drive.c @@ -1757,10 +1757,18 @@ int burn_abort(int patience, occup = burn_drive_is_occupied(&(drive_array[i])); if(occup == -2) continue; + +#ifdef NIX + /* <<< this causes a race condition with drive usage + and drive disposal + */ if(drive_array[i].drive_role != 1) { drive_array[i].busy = BURN_DRIVE_IDLE; burn_drive_forget(&(drive_array[i]), 1); - } else if(occup <= 10) { + } else +#endif /* NIX */ + + if(occup <= 10) { burn_drive_forget(&(drive_array[i]), 1); } else if(occup <= 100) { if(first_round)