X-Git-Url: http://git.tdb.fi/?p=libs%2Fnet.git;a=blobdiff_plain;f=source%2Fnet%2Fresolve.cpp;fp=source%2Fnet%2Fresolve.cpp;h=006f210d777eb2aa38d7e5df91ecc1c25ca20c0d;hp=10e8c656797fedfdd685b2edb48ad5f20a217996;hb=d20870655aeca0614d9fc315fe5f9893ebdc7aa3;hpb=6af74d460a0ec4f53bb5cff328ee34d05131be9a diff --git a/source/net/resolve.cpp b/source/net/resolve.cpp index 10e8c65..006f210 100644 --- a/source/net/resolve.cpp +++ b/source/net/resolve.cpp @@ -132,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(); } }