X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=httpinput.cpp;h=72a8f3aaf021e3c96afe345c6c7635b506ebb251;hp=8a3c371a7df88a618caa92227be4b77e50bf110c;hb=4f4e1384b4299611924a39f59f536b4964806135;hpb=b2a5d0a3b9e6ad819ec7d9b427f94a58177e6dae diff --git a/httpinput.cpp b/httpinput.cpp index 8a3c371..72a8f3a 100644 --- a/httpinput.cpp +++ b/httpinput.cpp @@ -93,6 +93,8 @@ int HTTPInput::lookup_and_connect(const string &host, const string &port) return -1; } + addrinfo *base_ai = ai; + // Connect to everything in turn until we have a socket. while (ai && !should_stop) { int sock = socket(ai->ai_family, SOCK_STREAM, IPPROTO_TCP); @@ -106,7 +108,7 @@ int HTTPInput::lookup_and_connect(const string &host, const string &port) } while (err == -1 && errno == EINTR); if (err != -1) { - freeaddrinfo(ai); + freeaddrinfo(base_ai); return sock; } @@ -125,7 +127,7 @@ int HTTPInput::lookup_and_connect(const string &host, const string &port) // Give the last one as error. log(WARNING, "[%s] Connect to '%s' failed (%s)", stream_id.c_str(), host.c_str(), strerror(errno)); - freeaddrinfo(ai); + freeaddrinfo(base_ai); return -1; } @@ -332,6 +334,8 @@ void HTTPInput::do_work() process_data(&extra_data[0], extra_data.size()); } + log(INFO, "[%s] Connected to '%s', receiving data.", + stream_id.c_str(), url.c_str()); state = RECEIVING_DATA; break; }