【问题标题】:sendfile() usage on two mmaped files (linux)sendfile() 在两个 mmaped 文件上的使用 (linux)
【发布时间】:2011-02-02 01:52:18
【问题描述】:

sendfile() linux 系统调用能否用于将文件的一部分从一个 mmaped 文件发送到另一个 mmaped 文件?

【问题讨论】:

    标签: linux linux-kernel sendfile


    【解决方案1】:

    来自sendfile(2)

    目前(Linux 2.6.9):in_fd,必须对应一个文件 支持类似 mmap() 的操作(即,它不能是套接字); 并且 out_fd 必须引用一个套接字。

    所以看起来答案是否定的。

    编辑

    我想我明白你现在在寻找什么。查看splice(2)

    【讨论】:

    • 但是最新的内核呢? linux 中的 mans 维护得很差(与任何商业 unix、line solaris、hpux 等相比)
    • 我认为这没有改变,必须查看源代码,但我忘记问的问题 - 你想做什么?你不能用共享内存解决这个问题吗?还是只是好奇?
    • 我想做零拷贝。 memcpy 太慢了。
    • 如果它在同一个盒子上,只需处理来自多个进程的共享页面。在任何情况下,必须先写入内存,然后再从内存中读取。
    猜你喜欢
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    • 2011-05-27
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    • 2016-09-22
    • 2011-02-26
    相关资源
    最近更新 更多