Pool sizes redefined and cleanup
[platform/upstream/dbus.git] / dbus / dbus-transport-socket.c
index 1d4c2bf..e7598ae 100644 (file)
@@ -29,6 +29,8 @@
 #include "dbus-transport-protected.h"
 #include "dbus-watch.h"
 #include "dbus-credentials.h"
+#include <stdio.h>  //todo to remove
+
 
 /**
  * @defgroup DBusTransportSocket DBusTransport implementations for sockets
@@ -529,6 +531,8 @@ do_writing (DBusTransport *transport)
       int header_len, body_len;
       int total_bytes_to_write;
       
+//      int i;
+
       if (total > socket_transport->max_bytes_written_per_iteration)
         {
           _dbus_verbose ("%d bytes exceeds %d bytes written per iteration, returning\n",
@@ -550,6 +554,32 @@ do_writing (DBusTransport *transport)
       header_len = _dbus_string_get_length (header);
       body_len = _dbus_string_get_length (body);
 
+  /*    fprintf (stderr, "\nheader:\n");  //todo for test - to remove together wit int i declaration above
+      for(i=0; i < header_len; i++)
+      {
+       fprintf (stderr, "%02x", _dbus_string_get_byte(header,i));
+      }
+      fprintf (stderr,"\n");
+      for(i=0; i < header_len; i++)
+      {
+       fprintf (stderr, "%c", _dbus_string_get_byte(header,i));
+      }
+      fprintf (stderr, "\nret size: %u, i: %u\n", header_len, i);
+
+
+      fprintf (stderr, "\nbody:\n");
+      for(i=0; i < body_len; i++)
+      {
+       fprintf (stderr, "%02x", _dbus_string_get_byte(body,i));
+      }
+      fprintf (stderr, "\nret size: %u, i: %u\n", body_len, i);
+      fprintf (stderr,"\n");
+      for(i=0; i < body_len; i++)
+      {
+       fprintf (stderr, "%c", _dbus_string_get_byte(body,i));
+      }
+      fprintf (stderr, "\nret size: %u, i: %u\n", body_len, i);*/
+
       if (_dbus_auth_needs_encoding (transport->auth))
         {
           /* Does fd passing even make sense with encoded data? */
@@ -677,8 +707,8 @@ do_writing (DBusTransport *transport)
               _dbus_string_set_length (&socket_transport->encoded_outgoing, 0);
               _dbus_string_compact (&socket_transport->encoded_outgoing, 2048);
 
-              _dbus_connection_message_sent (transport->connection,
-                                             message);
+              _dbus_connection_message_sent_unlocked (transport->connection,
+                                                      message);
             }
         }
     }
@@ -815,7 +845,7 @@ do_reading (DBusTransport *transport)
                                           buffer,
                                           bytes_read < 0 ? 0 : bytes_read);
     }
-  
+
   if (bytes_read < 0)
     {
       /* EINTR already handled for us */
@@ -1278,8 +1308,10 @@ _dbus_transport_new_for_socket (int               fd,
   return (DBusTransport*) socket_transport;
 
  failed_4:
+  _dbus_watch_invalidate (socket_transport->read_watch);
   _dbus_watch_unref (socket_transport->read_watch);
  failed_3:
+  _dbus_watch_invalidate (socket_transport->write_watch);
   _dbus_watch_unref (socket_transport->write_watch);
  failed_2:
   _dbus_string_free (&socket_transport->encoded_incoming);
@@ -1335,12 +1367,12 @@ _dbus_transport_new_for_tcp_socket (const char     *host,
     goto error;
 
   if (family != NULL &&
-      (!_dbus_string_append (&address, "family=") ||
+      (!_dbus_string_append (&address, ",family=") ||
        !_dbus_string_append (&address, family)))
     goto error;
 
   if (noncefile != NULL &&
-      (!_dbus_string_append (&address, "noncefile=") ||
+      (!_dbus_string_append (&address, ",noncefile=") ||
        !_dbus_string_append (&address, noncefile)))
     goto error;