From ed06b376f200af1052dbc9234387e4e5810ce626 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sun, 12 Aug 2007 09:51:04 +0000 Subject: [PATCH] Checked in burn_random_access_write() wether drive is grabbed --- cdrskin/cdrskin_timestamp.h | 2 +- libburn/libdax_msgs.h | 1 + libburn/write.c | 7 +++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cdrskin/cdrskin_timestamp.h b/cdrskin/cdrskin_timestamp.h index 4227e19..bd6fd95 100644 --- a/cdrskin/cdrskin_timestamp.h +++ b/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2007.08.11.202627" +#define Cdrskin_timestamP "2007.08.12.095446" diff --git a/libburn/libdax_msgs.h b/libburn/libdax_msgs.h index c71e5c0..641bd5e 100644 --- a/libburn/libdax_msgs.h +++ b/libburn/libdax_msgs.h @@ -373,6 +373,7 @@ Range "scdbackup" : 0x00020000 to 0x0002ffff 0x0002013f (DEBUG,LOW) = Reporting total time spent with waiting for buffer 0x00020140 (FATAL,HIGH) = Drive is busy on attempt to write random access 0x00020141 (SORRY,HIGH) = Write data count not properly aligned + 0x00020142 (FATAL,HIGH) = Drive is not grabbed on random access write libdax_audioxtr: diff --git a/libburn/write.c b/libburn/write.c index 478b87e..d9dc5c6 100644 --- a/libburn/write.c +++ b/libburn/write.c @@ -1978,6 +1978,13 @@ int burn_random_access_write(struct burn_drive *d, off_t byte_address, char msg[81], *rpt; struct buffer buf; + if (d->released) { + libdax_msgs_submit(libdax_messenger, + d->global_index, 0x00020142, + LIBDAX_MSGS_SEV_FATAL, LIBDAX_MSGS_PRIO_HIGH, + "Drive is not grabbed on random access write", 0, 0); + return 0; + } if (d->current_profile == 0x12) /* DVD-RAM */ alignment = 2 * 1024; if (d->current_profile == 0x13) /* DVD-RW restricted overwrite */