X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fnet%2Fresolve.cpp;h=006f210d777eb2aa38d7e5df91ecc1c25ca20c0d;hb=13c6c5f4431aeeb3432c8692bc18990db0a3283f;hp=ce47b51f8a4155e3de43b6651459b160e6b0a629;hpb=136c9eec2b72bfad4788908de5552fbd62216148;p=libs%2Fnet.git diff --git a/source/net/resolve.cpp b/source/net/resolve.cpp index ce47b51..006f210 100644 --- a/source/net/resolve.cpp +++ b/source/net/resolve.cpp @@ -1,9 +1,4 @@ -#ifdef _WIN32 -#define _WIN32_WINNT 0x0501 -#include -#else -#include -#endif +#include "platform_api.h" #include #include #include "sockaddr_private.h" @@ -137,7 +132,16 @@ void Resolver::task_done() if(task->addr) signal_address_resolved.emit(task->tag, *task->addr); else if(task->error) + { + if(signal_resolve_failed.empty()) + { + RefPtr err = task->error; + task->error = 0; + thread.pop_complete_task(); + throw *err; + } signal_resolve_failed.emit(task->tag, *task->error); + } thread.pop_complete_task(); } } @@ -234,16 +238,5 @@ void Resolver::WorkerThread::main() } } - /*sockaddr sa; - unsigned size = fill_sockaddr(sa); - char hst[128]; - char srv[128]; - int err = getnameinfo(&sa, size, hst, 128, srv, 128, 0); - if(err==0) - { - host = hst; - serv = srv; - }*/ - } // namespace Net } // namespace Msp