[vlc-devel] commit: mmap: handle I/O errors as fatal ( Rémi Denis-Courmont )
git version control
git at videolan.org
Tue Sep 16 17:53:01 CEST 2008
vlc | branch: master | Rémi Denis-Courmont <rdenis at simphalempin.com> | Tue Sep 16 18:52:15 2008 +0300| [270d4c8d81428c511306d4ca9c0973319ec34aa0] | committer: Rémi Denis-Courmont
mmap: handle I/O errors as fatal
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=270d4c8d81428c511306d4ca9c0973319ec34aa0
---
modules/access/mmap.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/modules/access/mmap.c b/modules/access/mmap.c
index 887c0bc..0d04503 100644
--- a/modules/access/mmap.c
+++ b/modules/access/mmap.c
@@ -213,8 +213,7 @@ static block_t *Block (access_t *p_access)
msg_Err (p_access, "memory mapping failed (%m)");
intf_UserFatal (p_access, false, _("File reading failed"),
_("VLC could not read the file."));
- msleep (INPUT_ERROR_SLEEP);
- return NULL;
+ goto fatal;
}
#ifdef HAVE_POSIX_MADVISE
posix_madvise (addr, length, POSIX_MADV_SEQUENTIAL);
@@ -222,7 +221,7 @@ static block_t *Block (access_t *p_access)
block_t *block = block_mmap_Alloc (addr, length);
if (block == NULL)
- return NULL;
+ goto fatal;
block->p_buffer += inner_offset;
block->i_buffer -= inner_offset;
@@ -245,6 +244,10 @@ static block_t *Block (access_t *p_access)
p_access->info.i_pos = outer_offset + length;
return block;
+
+fatal:
+ p_access->info.b_eof = true;
+ return NULL;
}
More information about the vlc-devel
mailing list