platform/linux-generic/odp_pcapng.c
static ssize_t write_fifo(int fd, struct iovec *iov, int iovcnt)
{
	ssize_t len = 0;

	len = writev(fd, iov, iovcnt);
	/*
	 * we don't care if a writev fails, we asynchronously read the fifo
	 * so the next block of packets might be successful. This error only
	 * means that some packets failed to append on the pcap file
	 */
	if (len > 0)
		fsync(fd);

	return len;
}
/*
 * make sure that each fifo write is less than PIPE_BUF
 * this will make sure writes are atomic (on non blocking mode).
 * writev() transfers all the data and returns the number of bytes requested or
 * -EAGAIN
 */
make sure that each fifo write is less than PIPE_BUF
this will make sure writes are atomic (on non blocking mode).
writev() transfers all the data and returns the number of bytes requested or
-EAGAIN
make sure that each fifo write is less than PIPE_BUF this will make sure writes are atomic ( on non blocking mode ) . writev () transfers all the data and returns the number of bytes requested or - EAGAIN
static ssize_t write_fifo(int fd, struct iovec *iov, int iovcnt)
{
	ssize_t len = 0;
	len = writev(fd, iov, iovcnt);
	if (len > 0)
		fsync(fd);
	return len;
}
static ssize_t write_fifo ( int fd , struct iovec * iov , int iovcnt ) { ssize_t len = 0 ; len = writev ( fd , iov , iovcnt ) ; if ( len > 0 ) fsync ( fd ) ; return len ; }
make sure that each fifo write is less than PIPE_BUF
 this will make sure writes are atomic (on non blocking mode).
make sure that each fifo write is less than PIPE_BUF this will make sure writes are atomic ( on non blocking mode ) .
/*
	 * we don't care if a writev fails, we asynchronously read the fifo
	 * so the next block of packets might be successful. This error only
	 * means that some packets failed to append on the pcap file
	 */