From 1aa58c6405dad2663257260b993791f43c0da76b Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas.guillem@gmail.com>
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 4ab64e45497..14b5e19cd96 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;
-- 
GitLab