diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2014-04-18 08:38:18 -0700 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2014-04-18 08:38:18 -0700 |
commit | b0d3b261f454e921f90a3a2c748731d3379e2db7 (patch) | |
tree | b557ba4767fe7b00465f451b3be057721baf1156 /src/map/chrif.cpp | |
parent | ae7b06ff8ad775a945bd677effd72b7fafa13d8d (diff) | |
download | tmwa-b0d3b261f454e921f90a3a2c748731d3379e2db7.tar.gz tmwa-b0d3b261f454e921f90a3a2c748731d3379e2db7.tar.bz2 tmwa-b0d3b261f454e921f90a3a2c748731d3379e2db7.tar.xz tmwa-b0d3b261f454e921f90a3a2c748731d3379e2db7.zip |
Die sensibly, take 2
Diffstat (limited to 'src/map/chrif.cpp')
-rw-r--r-- | src/map/chrif.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/map/chrif.cpp b/src/map/chrif.cpp index 86506b0..fa95be7 100644 --- a/src/map/chrif.cpp +++ b/src/map/chrif.cpp @@ -1037,6 +1037,15 @@ void ladmin_itemfrob(Session *s) } } +static +void chrif_delete(Session *s) +{ + assert (s == char_session); + PRINTF("Map-server can't connect to char-server (connection #%d).\n", + s); + char_session = nullptr; +} + /*========================================== * *------------------------------------------ @@ -1207,10 +1216,10 @@ void check_connect_char_server(TimerData *, tick_t) { PRINTF("Attempt to connect to char-server...\n"); chrif_state = 0; - char_session = make_connection(char_ip, char_port); + char_session = make_connection(char_ip, char_port, + SessionParsers{func_parse: chrif_parse, func_delete: chrif_delete}); if (!char_session) return; - char_session->func_parse = chrif_parse; realloc_fifo(char_session, FIFOSIZE_SERVERLINK, FIFOSIZE_SERVERLINK); chrif_connect(char_session); |