LINUX.ORG.RU

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


0

0

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

anonymous

Когда процесс находится в режиме ядра (а во время записи 1 гиг он будет находиться в режиме ядра приличное время), он не может быть прерван сигналом.

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

А что же делать в таком случае? Как сделать это, имея возможность остановить такой процесс?

anonymous
()

Если ядро не проверяет временами на pending сигнал (как в случае с write), то никак, можешь писать не целиком, а частями.

Murr ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.