diff options
| author | Daniel Campora | 2015-05-23 19:56:22 +0200 |
|---|---|---|
| committer | Daniel Campora | 2015-05-24 11:44:06 +0200 |
| commit | 9f8c5456befbf33cf8e02de99b6b9f5a417f006a (patch) | |
| tree | dc1339e90c801a2361dd19b0a3b4430a930a1ae5 /cc3200/telnet | |
| parent | 0d31bbc7fa3bdf10a14d92bb010a5016dc6101af (diff) | |
cc3200: Reset the servers and close user sockets on WLAN disconection.
This is needed to avoid half-open connections.
Diffstat (limited to 'cc3200/telnet')
| -rw-r--r-- | cc3200/telnet/telnet.c | 15 | ||||
| -rw-r--r-- | cc3200/telnet/telnet.h | 1 |
2 files changed, 8 insertions, 8 deletions
diff --git a/cc3200/telnet/telnet.c b/cc3200/telnet/telnet.c index 0edc00cdb..3b77d6be0 100644 --- a/cc3200/telnet/telnet.c +++ b/cc3200/telnet/telnet.c @@ -132,7 +132,6 @@ static void telnet_process (void); static int telnet_process_credential (char *credential, _i16 rxLen); static void telnet_parse_input (uint8_t *str, int16_t *len); static bool telnet_send_with_retries (int16_t sd, const void *pBuf, int16_t len); -static void telnet_reset (void); static void telnet_reset_buffer (void); /****************************************************************************** @@ -293,6 +292,13 @@ void telnet_disable (void) { telnet_data.state = E_TELNET_STE_DISABLED; } +void telnet_reset (void) { + // close the connection and start all over again + servers_close_socket(&telnet_data.n_sd); + servers_close_socket(&telnet_data.sd); + telnet_data.state = E_TELNET_STE_START; +} + bool telnet_is_enabled (void) { return telnet_data.enabled; } @@ -499,13 +505,6 @@ static bool telnet_send_with_retries (int16_t sd, const void *pBuf, int16_t len) return false; } -static void telnet_reset (void) { - // close the connection and start all over again - servers_close_socket(&telnet_data.n_sd); - servers_close_socket(&telnet_data.sd); - telnet_data.state = E_TELNET_STE_START; -} - static void telnet_reset_buffer (void) { // erase any characters present in the current line memset (telnet_data.rxBuffer, '\b', TELNET_RX_BUFFER_SIZE / 2); diff --git a/cc3200/telnet/telnet.h b/cc3200/telnet/telnet.h index 913cd73e1..983a774c8 100644 --- a/cc3200/telnet/telnet.h +++ b/cc3200/telnet/telnet.h @@ -38,6 +38,7 @@ extern bool telnet_rx_any (void); extern int telnet_rx_char (void); extern void telnet_enable (void); extern void telnet_disable (void); +extern void telnet_reset (void); extern bool telnet_is_enabled (void); extern bool telnet_is_active (void); |
