]> git.sesse.net Git - vlc/commitdiff
stream_filter: dash: fix endless loop on thread early cancellation
authorFrancois Cartegnie <fcvlcdev@free.fr>
Wed, 19 Nov 2014 12:49:38 +0000 (13:49 +0100)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Thu, 18 Dec 2014 20:23:49 +0000 (21:23 +0100)
modules/stream_filter/dash/http/HTTPConnection.cpp

index 847ccf682fd59678b7ddab30918313fedae79dfc..98baa1bab02faffa29a2d79f4e86aa37c3f592f7 100644 (file)
@@ -47,7 +47,7 @@ int             HTTPConnection::read            (void *p_buffer, size_t len)
 {
     if(this->peekBufferLen == 0)
     {
-        int size = net_Read(this->stream, this->httpSocket, NULL, p_buffer, len, false);
+        ssize_t size = net_Read(stream, httpSocket, NULL, p_buffer, len, false);
 
         if(size <= 0)
             return 0;
@@ -135,15 +135,15 @@ std::string     HTTPConnection::readLine        ()
 {
     std::stringstream ss;
     char c[1];
-    size_t size = net_Read(this->stream, this->httpSocket, NULL, c, 1, false);
+    ssize_t size = net_Read(stream, httpSocket, NULL, c, 1, false);
 
-    while(size)
+    while(size >= 0)
     {
         ss << c[0];
         if(c[0] == '\n')
             break;
 
-        size = net_Read(this->stream, this->httpSocket, NULL, c, 1, false);
+        size = net_Read(stream, httpSocket, NULL, c, 1, false);
     }
 
     if(size > 0)