]> git.tdb.fi Git - libs/net.git/blobdiff - source/streamsocket.cpp
Add an overload for resolve that takes host and service separately
[libs/net.git] / source / streamsocket.cpp
index 7ede11552aeba1326928e8e845b0eabe23544c6a..8a262454eca173dfcc6ef93f0fcd0d45c10582f7 100644 (file)
@@ -66,7 +66,7 @@ bool StreamSocket::connect(const SockAddr &addr)
        delete local_addr;
        SockAddr::SysAddr lsa;
        getsockname(priv->handle, reinterpret_cast<sockaddr *>(&lsa.addr), &lsa.size);
-       local_addr = SockAddr::from_sys(lsa);
+       local_addr = SockAddr::new_from_sys(lsa);
 
        if(err==0)
        {
@@ -123,7 +123,13 @@ void StreamSocket::on_event(IO::PollEvent ev)
 
                connecting = false;
                connected = (err==0);
-               signal_connect_finished.emit(err);
+               if(err)
+               {
+                       system_error exc("connect", err);
+                       signal_connect_finished.emit(&exc);
+               }
+               else
+                       signal_connect_finished.emit(0);
 
                if(err!=0)
                {