Hi -hackers,

In trying to increase throughput in a file transfer application I am
working on, I wondered if it was possible to do something like (code
of course edited for brevity):

/* file_fd points to a regular file which is filled with SIZE nul
bytes */
map_addr = mmap(NULL, size, PROT_WRITE, MAP_PRIVATE, file_fd, 0);
rv = recv(sockfd, map_addr, size, MSG_WAITALL);

Rather than the usual recv() to a fixed size buffer, write() to the
file descriptor, loop, etc.  However when I try to do this recv gives
me back an EFAULT (bad address).  Is there a limitation of the
architecture which does not allows us to recv() to an mmap'ed area of
a file, or is it just something which hasn't been implemented?

Thanks.
-- 
Farooq

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to