X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gio%2Fgsocketcontrolmessage.c;h=a526b4f76dd093571a9cc250db018c5f3109bfe2;hb=f14a66e3df9e5e3f0f170b68e976011c80ffc041;hp=cce825867d83aadfccd54b76a3a6f77235263064;hpb=63adeda0861a26b38ec0adc76255666554c18951;p=platform%2Fupstream%2Fglib.git diff --git a/gio/gsocketcontrolmessage.c b/gio/gsocketcontrolmessage.c index cce8258..a526b4f 100644 --- a/gio/gsocketcontrolmessage.c +++ b/gio/gsocketcontrolmessage.c @@ -13,9 +13,10 @@ */ /** - * SECTION: gsocketcontrolmessage + * SECTION:gsocketcontrolmessage * @title: GSocketControlMessage * @short_description: A GSocket control message + * @include: gio/gio.h * @see_also: #GSocket. * * A #GSocketControlMessage is a special-purpose utility message that @@ -24,7 +25,7 @@ * * The message can represent some sort of special instruction to or * information from the socket or can represent a special kind of - * transfer to the peer (for example, sending a file description over + * transfer to the peer (for example, sending a file descriptor over * a UNIX socket). * * These messages are sent with g_socket_send_message() and received @@ -153,7 +154,7 @@ g_socket_control_message_class_init (GSocketControlMessageClass *class) * @level: a socket level * @type: a socket control message type for the given @level * @size: the size of the data in bytes - * @data: pointer to the message data + * @data: (array length=size) (element-type guint8): pointer to the message data * * Tries to deserialize a socket control message of a given * @level and @type. This will ask all known (to GType) subclasses @@ -177,14 +178,11 @@ g_socket_control_message_deserialize (int level, GType *message_types; guint n_message_types; int i; -#ifndef G_OS_WIN32 - volatile GType a_type; -#endif /* Ensure we know about the built in types */ #ifndef G_OS_WIN32 - a_type = g_unix_credentials_message_get_type (); - a_type = g_unix_fd_message_get_type (); + g_type_ensure (G_TYPE_UNIX_CREDENTIALS_MESSAGE); + g_type_ensure (G_TYPE_UNIX_FD_MESSAGE); #endif message_types = g_type_children (G_TYPE_SOCKET_CONTROL_MESSAGE, &n_message_types); @@ -204,8 +202,15 @@ g_socket_control_message_deserialize (int level, g_free (message_types); - if (message == NULL) - g_warning ("unknown control message type %d:%d", level, type); + /* It's not a bug if we can't deserialize the control message - for + * example, the control message may be be discarded if it is deemed + * empty, see e.g. + * + * http://git.gnome.org/browse/glib/commit/?id=ec91ed00f14c70cca9749347b8ebc19d72d9885b + * + * Therefore, it's not appropriate to print a warning about not + * being able to deserialize the message. + */ return message; }