Changeset 3100

Show
Ignore:
Timestamp:
03/04/10 06:13:04 (6 months ago)
Author:
scdbackup
Message:

Showing more patience with temporarily busy drives on Linux

Location:
libburn/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • libburn/trunk/cdrskin/cdrskin_timestamp.h

    r3097 r3100  
    1 #define Cdrskin_timestamP "2010.03.03.141407" 
     1#define Cdrskin_timestamP "2010.03.04.121441" 
  • libburn/trunk/libburn/sg-linux.c

    r3066 r3100  
    16521652{ 
    16531653        int fd, os_errno= 0, ret; 
     1654        int max_tries = 3, tries = 0; 
    16541655 
    16551656        /* ts A60813 */ 
     
    16851686        if(! burn_drive_is_open(d)) { 
    16861687 
     1688try_open:; 
    16871689                /* ts A60821 
    16881690                <<< debug: for tracing calls which might use open drive fds */ 
     
    17181720                d->released = 0; 
    17191721                return 1; 
    1720         } 
     1722        } else if (errno == EBUSY) 
     1723                goto drive_is_in_use; 
    17211724        libdax_msgs_submit(libdax_messenger, d->global_index, 0x00020003, 
    17221725                        LIBDAX_MSGS_SEV_SORRY, LIBDAX_MSGS_PRIO_HIGH, 
     
    17251728 
    17261729drive_is_in_use:; 
     1730        tries++; 
     1731        if (tries < max_tries) { 
     1732                usleep(2000000); 
     1733                goto try_open; 
     1734        } 
    17271735        libdax_msgs_submit(libdax_messenger, d->global_index, 
    17281736                        0x00020003,