mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-05-01 16:08:01 +02:00
2003-01-25 Anders Carlsson <andersca@codefactory.se>
* dbus/dbus-connection.c: (dbus_connection_send_message): * dbus/dbus-message-internal.h: * dbus/dbus-message.c: (_dbus_message_get_client_serial), (dbus_message_write_header): Remove _dbus_messag_unlock and don't set the client serial on a message if one already exists.
This commit is contained in:
parent
a1a53c3242
commit
a2a6815829
4 changed files with 28 additions and 24 deletions
|
|
@ -1,3 +1,12 @@
|
|||
2003-01-25 Anders Carlsson <andersca@codefactory.se>
|
||||
|
||||
* dbus/dbus-connection.c: (dbus_connection_send_message):
|
||||
* dbus/dbus-message-internal.h:
|
||||
* dbus/dbus-message.c: (_dbus_message_get_client_serial),
|
||||
(dbus_message_write_header):
|
||||
Remove _dbus_messag_unlock and don't set the client serial on a
|
||||
message if one already exists.
|
||||
|
||||
2003-01-24 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* dbus/dbus-list.c (alloc_link): put a thread lock on the global
|
||||
|
|
|
|||
|
|
@ -644,12 +644,12 @@ dbus_connection_send_message (DBusConnection *connection,
|
|||
_dbus_verbose ("Message %p added to outgoing queue, %d pending to send\n",
|
||||
message, connection->n_outgoing);
|
||||
|
||||
/* Unlock the message, resetting its header. */
|
||||
_dbus_message_unlock (message);
|
||||
if (_dbus_message_get_client_serial (message) == -1)
|
||||
{
|
||||
serial = _dbus_connection_get_next_client_serial (connection);
|
||||
_dbus_message_set_client_serial (message, serial);
|
||||
}
|
||||
|
||||
serial = _dbus_connection_get_next_client_serial (connection);
|
||||
_dbus_message_set_client_serial (message, serial);
|
||||
|
||||
if (client_serial)
|
||||
*client_serial = serial;
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ void _dbus_message_lock (DBusMessage *message);
|
|||
void _dbus_message_unlock (DBusMessage *message);
|
||||
void _dbus_message_set_client_serial (DBusMessage *message,
|
||||
dbus_int32_t client_serial);
|
||||
dbus_int32_t _dbus_message_get_client_serial (DBusMessage *message);
|
||||
dbus_int32_t _dbus_message_get_reply_serial (DBusMessage *message);
|
||||
void _dbus_message_add_size_counter (DBusMessage *message,
|
||||
DBusCounter *counter);
|
||||
|
|
|
|||
|
|
@ -124,6 +124,19 @@ _dbus_message_set_client_serial (DBusMessage *message,
|
|||
message->client_serial = client_serial;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the client serial of a message or
|
||||
* -1 if none has been specified.
|
||||
*
|
||||
* @param message the message
|
||||
* @returns the client serial
|
||||
*/
|
||||
dbus_int32_t
|
||||
_dbus_message_get_client_serial (DBusMessage *message)
|
||||
{
|
||||
return message->client_serial;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the serial that the message is
|
||||
* a reply to.
|
||||
|
|
@ -238,25 +251,6 @@ dbus_message_write_header (DBusMessage *message)
|
|||
DBUS_COMPILER_BYTE_ORDER, len_data);
|
||||
}
|
||||
|
||||
/**
|
||||
* Unlocks a message so that it can be re-sent to another client.
|
||||
*
|
||||
* @see _dbus_message_lock
|
||||
* @param message the message to unlock.
|
||||
*/
|
||||
void
|
||||
_dbus_message_unlock (DBusMessage *message)
|
||||
{
|
||||
if (!message->locked)
|
||||
return;
|
||||
|
||||
/* Restore header */
|
||||
_dbus_string_set_length (&message->header, 0);
|
||||
|
||||
message->client_serial = -1;
|
||||
message->locked = FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Locks a message. Allows checking that applications don't keep a
|
||||
* reference to a message in the outgoing queue and change it
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue