[SCM] libav/experimental: tcp: Check url_interrupt_cb if connect was interrupted by a signal

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:20:25 UTC 2013


The following commit has been merged in the experimental branch:
commit 1aa58c6405dad2663257260b993791f43c0da76b
Author: Thomas Guillem <thomas.guillem at gmail.com>
Date:   Tue Dec 14 23:03:05 2010 +0000

    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

diff --git a/libavformat/tcp.c b/libavformat/tcp.c
index 4ab64e4..14b5e19 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;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list