diff options
author | fiaxh <git@lightrise.org> | 2024-08-19 12:17:23 +0200 |
---|---|---|
committer | fiaxh <git@lightrise.org> | 2024-08-19 12:28:45 +0200 |
commit | dc57561dcffda62d01618c72e0bbf5c5a45c2114 (patch) | |
tree | f2336f1d6bef1b1a7b37577d444c4141a51fbc39 /xmpp-vala/src/core/stream_connect.vala | |
parent | 88376cd6f75d5057caa6582d0a82fc76bb7b388f (diff) | |
download | dino-dc57561dcffda62d01618c72e0bbf5c5a45c2114.tar.gz dino-dc57561dcffda62d01618c72e0bbf5c5a45c2114.zip |
Add cancellable to stream connect
Diffstat (limited to 'xmpp-vala/src/core/stream_connect.vala')
-rw-r--r-- | xmpp-vala/src/core/stream_connect.vala | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/xmpp-vala/src/core/stream_connect.vala b/xmpp-vala/src/core/stream_connect.vala index a4c5b82e..17d47f38 100644 --- a/xmpp-vala/src/core/stream_connect.vala +++ b/xmpp-vala/src/core/stream_connect.vala @@ -69,8 +69,16 @@ namespace Xmpp { stream.add_module(module); } + uint connection_timeout_id = Timeout.add_seconds(30, () => { + warning("Connection attempt timed out"); + stream.disconnect(); + return Source.REMOVE; + }); + yield stream.connect(); + Source.remove(connection_timeout_id); + return new XmppStreamResult() { stream=stream }; } catch (IOError e) { warning("Could not establish XMPP session with %s:%i: %s", target.host, target.port, e.message); |