diff options
author | Dan Williams <dcbw@redhat.com> | 2010-06-24 11:09:33 -0700 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2010-06-24 11:09:33 -0700 |
commit | 6e79d153efc30fb2030536f7f795c19ad4a0661a (patch) | |
tree | 963a5d6ad150a88a2a8ab6d994d79d539e19383a /src/mm-serial-port.c | |
parent | 72a1a6caf67a15655ade8dc5eed4f94f86107171 (diff) | |
parent | 5fc9f259e253fc32510eca8fbd42416706fe0db6 (diff) |
Merge remote branch 'origin/master' into creg
Diffstat (limited to 'src/mm-serial-port.c')
-rw-r--r-- | src/mm-serial-port.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mm-serial-port.c b/src/mm-serial-port.c index df704af3..ed44167b 100644 --- a/src/mm-serial-port.c +++ b/src/mm-serial-port.c @@ -825,6 +825,25 @@ mm_serial_port_close (MMSerialPort *self) for (i = 0; i < g_queue_get_length (priv->queue); i++) { MMQueueData *item = g_queue_peek_nth (priv->queue, i); + if (item->callback) { + GError *error; + GByteArray *response; + + g_warn_if_fail (MM_SERIAL_PORT_GET_CLASS (self)->handle_response != NULL); + error = g_error_new_literal (MM_SERIAL_ERROR, + MM_SERIAL_ERROR_SEND_FAILED, + "Serial port is now closed"); + response = g_byte_array_sized_new (1); + g_byte_array_append (response, (const guint8 *) "\0", 1); + MM_SERIAL_PORT_GET_CLASS (self)->handle_response (self, + response, + error, + item->callback, + item->user_data); + g_error_free (error); + g_byte_array_free (response, TRUE); + } + g_byte_array_free (item->command, TRUE); g_slice_free (MMQueueData, item); } |