diff --git a/degesch.c b/degesch.c index ffb8625..0f703cc 100644 --- a/degesch.c +++ b/degesch.c @@ -4306,6 +4306,7 @@ end: static bool irc_connect (struct server *s, struct error **e) { + // TODO: connect asynchronously so that we don't freeze struct app_context *ctx = s->ctx; const char *irc_host = get_config_string (ctx, "server.irc_host"); @@ -4747,14 +4748,8 @@ main (int argc, char *argv[]) ctx.current_buffer = ctx.server.buffer; refresh_prompt (&ctx); - // TODO: connect asynchronously (first step towards multiple servers) - struct error *e = NULL; - if (!irc_connect (&ctx.server, &e)) - { - buffer_send_error (&ctx, ctx.server.buffer, "%s", e->message); - error_free (e); - exit (EXIT_FAILURE); - } + // Connect to the server ASAP + poller_timer_set (&ctx.server.reconnect_tmr, 0); rl_startup_hook = init_readline; rl_catch_sigwinch = false;