LINUX.ORG.RU

непонятки с mmap & write


0

0
Поскажите, где я неправ, плиз. Делаю следующее: мапирую в память с помощью mmap большой кусок файла (порядка гигабайта). Затем хочу этот кусок записать в другой файл. Делаю это посредством write. Все отлично работает, причем весьма быстро, но процесс почему-то не прерывается сигналами - ни SIGINT (CTRL-C), ни KILL. В чем же дело? И, может быть, такие вещи нужно делать по-другому?
anonymous
Когда процесс находится в режиме ядра (а во время записи 1 гиг он будет находиться в режиме ядра приличное время), он не может быть прерван сигналом.
anonymous
()
Ответ на: комментарий от anonymous
А что же делать в таком случае? Как сделать это, имея возможность остановить такой процесс?
anonymous
()
Если ядро не проверяет временами на pending сигнал (как в случае с write), то никак, можешь писать не целиком, а частями.
Murr ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.