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)
{
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)
{