2014-10-09 2 views
0

Я использую APR-библиотеку для записи большого количества данных. Все работает нормально, но теперь я хочу создать контрольные точки во время записи, где мои данные согласованы. Я хочу реализовать его, записав некоторые данные в файл mmap-ed, за которым следует flush.Flush mmaped file with APR

Я не могу понять, как это сделать с помощью APR. Я открываю файл с apr_file_open, затем создаю сопоставление с помощью соответствующей функции в APR. После этого я записываю данные в mmap-ed область и звоню apr_file_flush с дескриптором файла, который я передал в apr_mmap_create, но он немедленно возвращается. Я думаю, что флеш - относительно тяжелая операция, но я не вижу существенной разницы в производительности с флешем или без него. Я делаю это неправильно?

ответ

0

Мне нужно позвонить msync функции (из sys/mmap.h header) в этом случае. Flush не работает.

 Смежные вопросы

  • Нет связанных вопросов^_^