From 1aa58c6405dad2663257260b993791f43c0da76b Mon Sep 17 00:00:00 2001 From: Thomas Guillem Date: Tue, 14 Dec 2010 23:03:05 +0000 Subject: [PATCH] tcp: Check url_interrupt_cb if connect was interrupted by a signal This makes it possible to abort a blocking connect call. Patch by Thomas Guillem, thomas dot guillem at gmail Originally committed as revision 26014 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/tcp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavformat/tcp.c b/libavformat/tcp.c index 4ab64e4549..14b5e19cd9 100644 --- a/libavformat/tcp.c +++ b/libavformat/tcp.c @@ -73,8 +73,11 @@ static int tcp_open(URLContext *h, const char *uri, int flags) redo: ret = connect(fd, cur_ai->ai_addr, cur_ai->ai_addrlen); if (ret < 0) { - if (ff_neterrno() == FF_NETERROR(EINTR)) + if (ff_neterrno() == FF_NETERROR(EINTR)) { + if (url_interrupt_cb()) + goto fail1; goto redo; + } if (ff_neterrno() != FF_NETERROR(EINPROGRESS) && ff_neterrno() != FF_NETERROR(EAGAIN)) goto fail;