Открываю файл системным вызовом open() и получаю к нему доступ с помощью mmap(). Так как оставшаяся в странице память забивается нулями, я могу считать данные циклом вроде
for (; *c; c++)
{
// сделать что-то с памятью по адресу c
}
Всё бы хорошо, но вот как быть с ситуацией, когда размер файла совпадает с размером страницы? Тогда нулей для того, чтобы выйти из цикла, не будет. Пытался mmap-ить на один байт больше, но попытка доступа к этой памяти приводит к SIGBUS, из которого не получается выйти из цикла, в результате чего программа зависает.


Ответ на:
комментарий
от anonymous

Ответ на:
комментарий
от kss

Ответ на:
комментарий
от RommeDeSerieux

Ответ на:
комментарий
от RommeDeSerieux

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Обработка mmap-функции драйвером устройства (2023)
- Форум KDE 3.5 жрет память (2008)
- Форум маппирование CMA области на /dev/mem (2014)
- Форум LOR, it's BuguRTOS, I need help! (2016)
- Форум memory mapped файл (2014)
- Форум Анализ, компиляция и прогон программы для создания memory mapped файла и записи его содержимого (2014)
- Форум Быстрое считывание произвольной части большого файла (2017)
- Форум Баг или фича?Драйвер диска в ядре...теоретический эксплоит? (2016)
- Форум mmap (2006)
- Форум mmap (2003)