aboutsummaryrefslogtreecommitdiff
path: root/xmpp-vala/src/core/stanza_writer.vala
diff options
context:
space:
mode:
Diffstat (limited to 'xmpp-vala/src/core/stanza_writer.vala')
-rw-r--r--xmpp-vala/src/core/stanza_writer.vala3
1 files changed, 3 insertions, 0 deletions
diff --git a/xmpp-vala/src/core/stanza_writer.vala b/xmpp-vala/src/core/stanza_writer.vala
index 51f0061f..62fe022a 100644
--- a/xmpp-vala/src/core/stanza_writer.vala
+++ b/xmpp-vala/src/core/stanza_writer.vala
@@ -1,6 +1,8 @@
namespace Xmpp {
public class StanzaWriter {
+ public signal void cancel();
+
private OutputStream output;
private Queue<SourceFuncWrapper> queue = new Queue<SourceFuncWrapper>();
@@ -43,6 +45,7 @@ public class StanzaWriter {
try {
yield output.write_all_async(data, 0, null, null);
} catch (GLib.Error e) {
+ cancel();
throw new XmlError.IO(@"IOError in GLib: $(e.message)");
} finally {
SourceFuncWrapper? sfw = queue.pop_head();