diff --git a/libburn/trunk/cdrskin/cdrskin_timestamp.h b/libburn/trunk/cdrskin/cdrskin_timestamp.h index f48b9799..47a4ec34 100644 --- a/libburn/trunk/cdrskin/cdrskin_timestamp.h +++ b/libburn/trunk/cdrskin/cdrskin_timestamp.h @@ -1 +1 @@ -#define Cdrskin_timestamP "2007.04.10.081855" +#define Cdrskin_timestamP "2007.04.10.082229" diff --git a/libburn/trunk/libburn/sg-linux.c b/libburn/trunk/libburn/sg-linux.c index 5fd06184..adc8d9df 100644 --- a/libburn/trunk/libburn/sg-linux.c +++ b/libburn/trunk/libburn/sg-linux.c @@ -1149,7 +1149,7 @@ ex:; int sg_obtain_scsi_adr(char *path, int *bus_no, int *host_no, int *channel_no, int *target_no, int *lun_no) { - int fd, ret, l; + int fd, ret, l, open_mode = O_RDWR | O_NONBLOCK; struct my_scsi_idlun { int x; int host_unique_id; @@ -1164,7 +1164,12 @@ int sg_obtain_scsi_adr(char *path, int *bus_no, int *host_no, int *channel_no, /* ts A70409 : DDLP */ /* >>> obtain single lock on path */ - fd = open(path, O_RDONLY | O_NONBLOCK); + if(burn_sg_open_o_excl) + open_mode |= O_EXCL; + fd = open(path, open_mode); + if(fd < 0) + return 0; + sg_fcntl_lock(&fd, path); if(fd < 0) return 0;