diff --git a/trunk/cdrskin/cdrskin.c b/trunk/cdrskin/cdrskin.c index a9878274..bf9a24ea 100644 --- a/trunk/cdrskin/cdrskin.c +++ b/trunk/cdrskin/cdrskin.c @@ -3984,6 +3984,8 @@ int Cdrskin_eject(struct CdrskiN *skin, int flag) if(skin->n_drives<=skin->driveno || skin->driveno < 0) return(2); + /* <<< A61012 : retry loop might now be obsolete + (a matching bug in burn_disc_write_sync() was removed ) */ for(i= 0;i0 || i>=max_try-1) diff --git a/trunk/cdrskin/cdrskin_timestamp.h b/trunk/cdrskin/cdrskin_timestamp.h index 10a8718d..1436d3d8 100644 --- a/trunk/cdrskin/cdrskin_timestamp.h +++ b/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2006.10.11.191959" +#define Cdrskin_timestamP "2006.10.13.114554" diff --git a/trunk/libburn/libdax_msgs.h b/trunk/libburn/libdax_msgs.h index e3bd263f..36e2416d 100644 --- a/trunk/libburn/libdax_msgs.h +++ b/trunk/libburn/libdax_msgs.h @@ -297,7 +297,7 @@ Range "scdbackup" : 0x00020000 to 0x0002ffff 0x00020001 (SORRY,LOW) = Cannot open busy device 0x00020002 (SORRY,HIGH) = Encountered error when closing drive - 0x00020003 (FATAL,HIGH) = Could not grab drive + 0x00020003 (SORRY,HIGH) = Could not grab drive 0x00020004 (NOTE,HIGH) = Opened O_EXCL scsi sibling 0x00020005 (FATAL,HIGH) = Failed to open device 0x00020006 (FATAL,HIGH) = Too many scsi siblings diff --git a/trunk/libburn/sg-linux.c b/trunk/libburn/sg-linux.c index 8af3b9c7..3ff058b5 100644 --- a/trunk/libburn/sg-linux.c +++ b/trunk/libburn/sg-linux.c @@ -578,14 +578,14 @@ int sg_grab(struct burn_drive *d) drive_is_in_use:; libdax_msgs_submit(libdax_messenger, d->global_index, 0x00020003, - LIBDAX_MSGS_SEV_FATAL, LIBDAX_MSGS_PRIO_HIGH, + LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH, "Could not grab drive - already in use", 0, 0); sg_close_drive(d); d->fd = -1337; return 0; } libdax_msgs_submit(libdax_messenger, d->global_index, 0x00020003, - LIBDAX_MSGS_SEV_FATAL, LIBDAX_MSGS_PRIO_HIGH, + LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH, "Could not grab drive", os_errno, 0); return 0; } diff --git a/trunk/libburn/write.c b/trunk/libburn/write.c index e0ceb4a7..f5df79b8 100644 --- a/trunk/libburn/write.c +++ b/trunk/libburn/write.c @@ -658,6 +658,10 @@ return crap. so we send the command, then ignore the result. burn_print(1, "done\n"); d->busy = BURN_DRIVE_IDLE; + /* ts A61012 : This return was traditionally missing, a suspect this + to have caused Cdrskin_eject() failures */ + return; + fail: d->sync_cache(d); burn_print(1, "done - failed\n");