Procházet zdrojové kódy

Backport to stable-2.0: don't fsync read-only files.

Ryan C. Gordon před 12 roky
rodič
revize
87f4ed6786
2 změnil soubory, kde provedl 5 přidání a 1 odebrání
  1. 3 0
      CREDITS.txt
  2. 2 1
      platform/posix.c

+ 3 - 0
CREDITS.txt

@@ -109,6 +109,9 @@ Bug fixes:
 Bug fixes:
     Lauri Kasanen
 
+Bug fixes:
+    Andreas Karlsson
+
 Other stuff:
     Your name here! Patches go to icculus@icculus.org ...
 

+ 2 - 1
platform/posix.c

@@ -390,7 +390,8 @@ int __PHYSFS_platformEOF(void *opaque)
 int __PHYSFS_platformFlush(void *opaque)
 {
     int fd = *((int *) opaque);
-    BAIL_IF_MACRO(fsync(fd) == -1, strerror(errno), 0);
+    if ((fcntl(fd, F_GETFL) & O_ACCMODE) != O_RDONLY)
+        BAIL_IF_MACRO(fsync(fd) == -1, strerror(errno), 0);
     return(1);
 } /* __PHYSFS_platformFlush */