Re: file:sendfile broken on FreeBSD?
[email protected] Sat, 12 Sep 2015 18:04:30 +0000
| Newsgroups | gmane.comp.lang.erlang.bugs |
|---|---|
| Message-ID | <[email protected]> |
Hi I've created a pull request with a patch for this bug. It can be found here: https://github.com/erlang/otp/pull/831 JP On 2015-09-09 09:13, Jens Páll wrote: > Ah, sorry about that. > > I'm using version 18 (erts-7.0). > > Luic suggested I'd try disabling the async threads (+A 0) but I got > the same results. > > JP > > On 09.09.2015 07:33, Lukas Larsson wrote: > >> 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 [1] >>> >>> Thanks, >>> >>> Jens Páll >>> >>> _______________________________________________ >>> erlang-bugs mailing list >>> [email protected] >>> http://erlang.org/mailman/listinfo/erlang-bugs [2] > > > > Links: > ------ > [1] https://github.com/theom/eclm > [2] http://erlang.org/mailman/listinfo/erlang-bugs > > _______________________________________________ > 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