使用APR刷新mmaped文件

时间:2014-10-09 05:44:14

标签: file-io apr

我使用APR库来写入大量数据。一切正常,但现在我想在写入期间创建检查点,我的数据是一致的。我想通过将一些数据写入mmap-ed文件然后刷新来实现它。

我无法弄清楚如何用APR做到这一点。我用apr_file_open打开文件,然后在APR中使用相应的函数创建映射。之后,我将数据写入mmap-ed区域,而不是使用我传递给apr_file_flush的文件句柄调用apr_mmap_create,但它会立即返回。我认为冲洗是相对繁重的操作但我看不出有或没有冲洗的性能有任何显着差异。我做错了吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下,我需要调用msync函数(来自sys / mmap.h头文件)。 Flush不会工作。