aboutsummaryrefslogtreecommitdiff
path: root/xmpp-vala/src/module/xep/0047_in_band_bytestreams.vala
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2026-10-23 16:38:04 +0200
committerMarvin W <git@larma.de>2026-10-23 17:01:44 +0200
commit2eb311938665f92ef48e2cfa030720fc68ca7cc9 (patch)
tree64ee8aa646873e5c3af62fc29f767c456fe88b7a /xmpp-vala/src/module/xep/0047_in_band_bytestreams.vala
parent9e9f46d820257900a47410ba87c3aac601d0a71e (diff)
xmpp-vala: Fix deadlocks with cancellables
Diffstat (limited to 'xmpp-vala/src/module/xep/0047_in_band_bytestreams.vala')
-rw-r--r--xmpp-vala/src/module/xep/0047_in_band_bytestreams.vala4
1 files changed, 2 insertions, 2 deletions
diff --git a/xmpp-vala/src/module/xep/0047_in_band_bytestreams.vala b/xmpp-vala/src/module/xep/0047_in_band_bytestreams.vala
index 1e423b49..74034a8a 100644
--- a/xmpp-vala/src/module/xep/0047_in_band_bytestreams.vala
+++ b/xmpp-vala/src/module/xep/0047_in_band_bytestreams.vala
@@ -177,7 +177,7 @@ public class Connection : IOStream {
if (read_callback != null) {
Idle.add((owned) read_callback, read_callback_priority);
read_callback = null;
- if (read_callback_cancellable != null) {
+ if (read_callback_cancellable != null && !read_callback_cancellable.is_cancelled()) {
read_callback_cancellable.disconnect(read_callback_cancellable_id);
}
read_callback_cancellable = null;
@@ -187,7 +187,7 @@ public class Connection : IOStream {
if (write_callback != null) {
Idle.add((owned) write_callback, write_callback_priority);
write_callback = null;
- if (write_callback_cancellable != null) {
+ if (write_callback_cancellable != null && !write_callback_cancellable.is_cancelled()) {
write_callback_cancellable.disconnect(write_callback_cancellable_id);
}
write_callback_cancellable = null;