Fixed a race condition on abort with stdio writing which could cause SIGSEGV
This commit is contained in:
parent
672a0e4f9d
commit
4beea97f47
@ -1 +1 @@
|
||||
#define Cdrskin_timestamP "2009.03.02.170126"
|
||||
#define Cdrskin_timestamP "2009.03.02.193353"
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user