Как внутри работает список I / O writev?

Функция writev принимает массив struct iovec в качестве входного аргумента

writev (int fd , const struct iovec * iov, int iovcnt);

Входные данные - это список буферов памяти, которые необходимо записать в файл (скажем). Я хочу знать следующее:

Делает ли writev внутренне это:

for (каждый элемент в iov) write (element)

так, чтобы каждый элемент iov записывался в файл в отдельном вызове ввода-вывода? Или writev записывает все в файл в одном вызове ввода-вывода ?

8
задан jitihsk 17 February 2012 в 22:52
поделиться