Re: file:sendfile broken on FreeBSD?

Lukas Larsson <[email protected]> Wed, 9 Sep 2015 09:33:45 +0200
Newsgroups gmane.comp.lang.erlang.bugs
Message-ID <CAP3zBqOJN=mUHsfue2gtniFX3yMUv2k-ae8LB_jr1jScCv=SiQ@mail.gmail.com>
Hello Jens,

Thanks for the bug report.

I cannot find any information about which versions of Erlang/OTP you have
tried this on.

Lukas

On Tue, Sep 8, 2015 at 11:09 PM, Jens Páll <[email protected]> wrote:

> Hi
>
> I've been doing some tests using file:sendfile on FreeBSD 10 and it seems
> to be broken. It's unable to send files that are larger than the OS send
> buffer.
>
> For example, if the buffer is 32KB, then only 48.996 bytes are sent to the
> client but from time to time it sends 130.708 bytes. It's always those
> numbers of bytes sent, 48.996 being the more popular one.
>
> I discovered this when using Cowboy. I contacted Luic and we have been
> discussing some options, like the server could be closing the socket too
> soon. I created a simple test server to try things out where I for example
> delayed the closing of the socket well beyond the time it took the client
> to receive a full buffer. It had no effect, that is, the client just
> received its one and a half buffer and then waited until the server got to
> closing the socket. I tried both versions of sendfile.
>
> If I use gen_tcp:send instead, the data is sent without any problems so I
> know the server works correctly.
>
> Luic is planning on testing this in a few days but since I'm pretty sure
> (I can't rule out the possibility that I could be doing something wrong)
> the problem lies with Erlang itself I decided to post this here to get some
> further feedback.
>
> I have a test server and client on github if someone cares to take a look:
> https://github.com/theom/eclm
>
> Thanks,
>
> Jens Páll
>
>
> _______________________________________________
> erlang-bugs mailing list
> [email protected]
> http://erlang.org/mailman/listinfo/erlang-bugs
>
>

_______________________________________________
erlang-bugs mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-bugs