From 962a4cd52d14eed73aa4897de16c928e3a5e1493 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Wed, 2 Dec 2009 15:27:26 -0600 Subject: [PATCH] Fix: Sometimes it is possible to cancel first cmd Commands on the head of the queue can be canceled if none of its bytes have actually been written to the modem. This is tracked by cmd_bytes_written variable. --- gatchat/gatchat.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gatchat/gatchat.c b/gatchat/gatchat.c index 1dffd89..df65906 100644 --- a/gatchat/gatchat.c +++ b/gatchat/gatchat.c @@ -1202,7 +1202,8 @@ gboolean g_at_chat_cancel(GAtChat *chat, guint id) if (!l) return FALSE; - if (l == g_queue_peek_head(chat->command_queue)) { + if (l == g_queue_peek_head(chat->command_queue) && + chat->cmd_bytes_written > 0) { struct at_command *c = l->data; /* We can't actually remove it since it is most likely -- 2.7.4