• unknown's avatar
    Fixing BUG#17719 "Delete of binlog files fails on Windows" · 39defccf
    unknown authored
     and BUG#19208 "Test 'rpl000017' hangs on Windows".
     Both bugs are caused by attempting to delete an opened
     file and to create immediatedly a new one with the same
     name. On Windows it can be supported only on NT-platforms
     (by using FILE_SHARE_DELETE mode and with renaming the
     file before deletion). Because deleting not-closed files
     is not supported on all platforms (e.g. Win 98|ME) this
     is to be considered harmful and should be eliminated by
     a "code redesign".
    
    
    VC++Files/mysys/mysys.vcproj:
      To be sure that __NT__ is defined for Win configurations.
       Temporary, to be changed in more appropriate way.
    include/my_sys.h:
      Adding my_delete_allow_opened to be invoked to delete
       a (possibly) not closed file on Windows NT-platforms.
    mysys/my_delete.c:
      Adding nt_share_delete() function implementing
       a (possibly) not closed file deletion on Windows NT.
    sql/log.cc:
      MYSQL_LOG::reset_logs(): Deleting usually not
       closed binlog files.
    39defccf
log.cc 85.3 KB