added another madvise and wrapped them in #ifdef's so they don't break systems without MADV_*

Original commit message from CVS:
added another madvise and wrapped them in #ifdef's so they don't break systems without MADV_*
This commit is contained in:
Erik Walthinsen 2001-10-17 20:57:53 +00:00
parent 5e29e07c62
commit c352836abe
2 changed files with 12 additions and 0 deletions

View file

@ -360,6 +360,10 @@ gst_filesrc_free_parent_mmap (GstBuffer *buf)
}
g_mutex_unlock(src->map_regions_lock);
#ifdef MADV_DONTNEED
// madvise to tell the kernel what to do with it
madvise(GST_BUFFER_DATA(buf),GST_BUFFER_SIZE(buf),MADV_DONTNEED);
#endif
// now unmap the memory
munmap(GST_BUFFER_DATA(buf),GST_BUFFER_MAXSIZE(buf));
}
@ -384,8 +388,10 @@ gst_filesrc_map_region (GstFileSrc *src, off_t offset, size_t size)
g_error ("gstfilesrc mmap(0x%x, %d, 0x%llx) : %s",
size, src->fd, offset, sys_errlist[errno]);
}
#ifdef MADV_SEQUENTIAL
// madvise to tell the kernel what to do with it
retval = madvise(GST_BUFFER_DATA(buf),GST_BUFFER_SIZE(buf),MADV_SEQUENTIAL);
#endif
// fill in the rest of the fields
GST_BUFFER_FLAGS(buf) = GST_BUFFER_READONLY | GST_BUFFER_ORIGINAL;
GST_BUFFER_SIZE(buf) = size;

View file

@ -360,6 +360,10 @@ gst_filesrc_free_parent_mmap (GstBuffer *buf)
}
g_mutex_unlock(src->map_regions_lock);
#ifdef MADV_DONTNEED
// madvise to tell the kernel what to do with it
madvise(GST_BUFFER_DATA(buf),GST_BUFFER_SIZE(buf),MADV_DONTNEED);
#endif
// now unmap the memory
munmap(GST_BUFFER_DATA(buf),GST_BUFFER_MAXSIZE(buf));
}
@ -384,8 +388,10 @@ gst_filesrc_map_region (GstFileSrc *src, off_t offset, size_t size)
g_error ("gstfilesrc mmap(0x%x, %d, 0x%llx) : %s",
size, src->fd, offset, sys_errlist[errno]);
}
#ifdef MADV_SEQUENTIAL
// madvise to tell the kernel what to do with it
retval = madvise(GST_BUFFER_DATA(buf),GST_BUFFER_SIZE(buf),MADV_SEQUENTIAL);
#endif
// fill in the rest of the fields
GST_BUFFER_FLAGS(buf) = GST_BUFFER_READONLY | GST_BUFFER_ORIGINAL;
GST_BUFFER_SIZE(buf) = size;