[FFmpeg-devel] [PATCH] tcp: properly return EOF
wm4
nfxjfg at googlemail.com
Sun Dec 31 17:18:58 EET 2017
On Sat, 30 Dec 2017 13:22:37 -0800
Aaron Levinson <alevinsn_dev at levland.net> wrote:
> On 12/30/2017 8:44 AM, wm4 wrote:
> > There is no POSIX error code for EOF - recv() signals EOF by simply
> > returning 0. But libavformat recently changed its conventionts and
>
> "conventionts" -> "conventions"
>
> > requires an explicit AVERROR_EOF, or it might get into an endless retry
> > loop, consuming 100% CPU while doing nothing.
> > ---
> > libavformat/tcp.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/libavformat/tcp.c b/libavformat/tcp.c
> > index fef0729da6..8773493df1 100644
> > --- a/libavformat/tcp.c
> > +++ b/libavformat/tcp.c
> > @@ -225,6 +225,8 @@ static int tcp_read(URLContext *h, uint8_t *buf, int size)
> > return ret;
> > }
> > ret = recv(s->fd, buf, size, 0);
> > + if (ret == 0)
> > + return AVERROR_EOF;
> > return ret < 0 ? ff_neterrno() : ret;
> > }
> >
> >
>
> LGTM
Pushed, with the typo fixed.
More information about the ffmpeg-devel
mailing list