src/transport.c
changeset 183 7bfbe9070c50
parent 176 6750d50ee8cd
--- a/src/transport.c	Thu May 07 02:49:49 2009 +0300
+++ b/src/transport.c	Thu May 07 02:57:11 2009 +0300
@@ -35,21 +35,24 @@
 {
     const struct transport_type *type = object_type(&transport->base_obj, &transport_type_type);
 
-    // update state
-    transport->connected = true;
-
     if (direct || !type->methods._connected) {
         // user callback
-        if (err)
+        if (err) {
             // connect failed
             transport->info.cb_tbl->on_error(transport, err, transport->info.cb_arg);
-        else
+
+        } else {
+            // update state
+            transport->connected = true;
+
             // connect succesfull
             transport->info.cb_tbl->on_connect(transport, transport->info.cb_arg);
+        }
 
     } else {
         // wrapper method
         type->methods._connected(transport, err);
+
     }
 }