diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-01-14 18:19:43 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-01-14 18:19:43 -0600 |
commit | 687245d6898eac03302b3f023090cb54c9e284c9 (patch) | |
tree | 21b2f25b085295af846b31fe49c5e755f6790f1a /apps/netutils | |
parent | f2587c00c50e212ac9f045a7d80cbfe38ebc0d7b (diff) | |
download | nuttx-687245d6898eac03302b3f023090cb54c9e284c9.tar.gz nuttx-687245d6898eac03302b3f023090cb54c9e284c9.tar.bz2 nuttx-687245d6898eac03302b3f023090cb54c9e284c9.zip |
If write buffering is enabled, then it is necessary to release the write buffer resources (callback structure) when the socket is closed
Diffstat (limited to 'apps/netutils')
-rw-r--r-- | apps/netutils/telnetd/telnetd_driver.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/apps/netutils/telnetd/telnetd_driver.c b/apps/netutils/telnetd/telnetd_driver.c index 13d1e00e4..7f87b8c70 100644 --- a/apps/netutils/telnetd/telnetd_driver.c +++ b/apps/netutils/telnetd/telnetd_driver.c @@ -215,7 +215,7 @@ static void telnetd_getchar(FAR struct telnetd_dev_s *priv, uint8_t ch, * Name: telnetd_receive * * Description: - * Process a received telenet buffer + * Process a received Telnet buffer * ****************************************************************************/ @@ -500,12 +500,20 @@ static int telnetd_close(FAR struct file *filep) } else { - /* Unregister the character driver */ + /* Un-register the character driver */ ret = unregister_driver(devpath); if (ret < 0) { - nlldbg("Failed to unregister the driver %s: %d\n", devpath, ret); + /* NOTE: a return value of -EBUSY is not an error, it simply + * means that the Telnet driver is busy now and cannot be + * registered now because there are other sessions using the + * connection. The driver will be properly unregistered when + * the final session terminates. + */ + + nlldbg("Failed to unregister the driver %s: %d\n", + devpath, ret); } free(devpath); |