Есть буфер (кусками), который распределен для реализации zero-copy посредством mmap().
Сокет неблокирующий.
Делается вызов writev/vmsplice на файловом дескрипторе сокета с передачей ему соответствующего iovec.
Вопросы: 1. Безопасно ли после вызова writev/vmsplice модифицировать переданный буфер? То есть гарантируется ли то, что после вызова на НЕБЛОКИРУЮЩЕМ сокете данные буфера (по размеру он не более нескольких килобайт) перемещены в ядре в безопасное место и буфер может быть использован для других целей или освобожден?
2. Как вообще такие вещи делать грамотно?
Пруфы приветствуются.
Спасибо заранее.