mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
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:
parent
5e29e07c62
commit
c352836abe
2 changed files with 12 additions and 0 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue