[empathy] Fix a theoretical race listing pending messages
- From: Jonny Lamb <jonnylamb src gnome org>
- To: svn-commits-list gnome org
- Subject: [empathy] Fix a theoretical race listing pending messages
- Date: Sat, 25 Apr 2009 06:12:38 -0400 (EDT)
commit b747b97984784a82724e538942854b89d3309006
Author: Will Thompson <will thompson collabora co uk>
Date: Sat Apr 25 10:07:31 2009 +0100
Fix a theoretical race listing pending messages
If you call ListPendingMessages before connecting to Received, the
following could theoretically occur:
Empathy --- ListPendingMessages --> CM
Empathy <-- LPM returns --- CM
<----- CM -----> Received
Empathy connects to Received
and thus you could miss a message. Connecting to Received before calling
ListPendingMessages avoids this (mostly theoretical) bug.
Signed-off-by: Will Thompson <will thompson collabora co uk>
---
libempathy/empathy-tp-chat.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c
index 54e08d0..2f951e0 100644
--- a/libempathy/empathy-tp-chat.c
+++ b/libempathy/empathy-tp-chat.c
@@ -753,6 +753,10 @@ tp_chat_check_if_ready (EmpathyTpChat *chat)
DEBUG ("Ready!");
+ tp_cli_channel_type_text_connect_to_received (priv->channel,
+ tp_chat_received_cb,
+ NULL, NULL,
+ G_OBJECT (chat), NULL);
priv->listing_pending_messages = TRUE;
tp_cli_channel_type_text_call_list_pending_messages (priv->channel, -1,
FALSE,
@@ -760,10 +764,6 @@ tp_chat_check_if_ready (EmpathyTpChat *chat)
NULL, NULL,
G_OBJECT (chat));
- tp_cli_channel_type_text_connect_to_received (priv->channel,
- tp_chat_received_cb,
- NULL, NULL,
- G_OBJECT (chat), NULL);
tp_cli_channel_type_text_connect_to_sent (priv->channel,
tp_chat_sent_cb,
NULL, NULL,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]