summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/server-rec.h1
-rw-r--r--src/core/servers-reconnect.c2
-rw-r--r--src/core/session.c2
3 files changed, 3 insertions, 2 deletions
diff --git a/src/core/server-rec.h b/src/core/server-rec.h
index 967da1f2..b88d2a41 100644
--- a/src/core/server-rec.h
+++ b/src/core/server-rec.h
@@ -13,6 +13,7 @@ char *nick; /* current nick */
unsigned int connected:1; /* connected to server */
unsigned int connection_lost:1; /* Connection lost unintentionally */
unsigned int session_reconnect:1; /* Connected to this server with /UPGRADE */
+unsigned int no_reconnect:1; /* Don't reconnect to server */
NET_SENDBUF_REC *handle;
int readtag; /* input tag */
diff --git a/src/core/servers-reconnect.c b/src/core/servers-reconnect.c
index 4e497026..8b59d06d 100644
--- a/src/core/servers-reconnect.c
+++ b/src/core/servers-reconnect.c
@@ -172,7 +172,7 @@ server_connect_copy_skeleton(SERVER_CONNECT_REC *src, int connect_info)
}
#define server_should_reconnect(server) \
- ((server)->connection_lost && !(server)->session_reconnect && \
+ ((server)->connection_lost && !(server)->no_reconnect && \
((server)->connrec->chatnet != NULL || \
(!(server)->banned && !(server)->dns_error)))
diff --git a/src/core/session.c b/src/core/session.c
index 3d90a02c..e72bf64a 100644
--- a/src/core/session.c
+++ b/src/core/session.c
@@ -189,7 +189,7 @@ static void session_save_server(SERVER_REC *server, CONFIG_REC *config,
server->handle = NULL;
server->connection_lost = TRUE;
- server->session_reconnect = TRUE;
+ server->no_reconnect = TRUE;
server_disconnect(server);
}