in fbtftp/base_handler.py [0:0]
def _close(self, test=False):
"""
Wrapper around `_on_close`. Its duty is to perform the necessary
cleanup. Closing `ResponseData` object, closing UDP sockets, and
gracefully exiting the process with exit code of 0.
"""
try:
self._on_close()
except Exception as e:
logging.exception("Exception raised when calling _on_close: %s" % e)
finally:
logging.debug("Closing response data object")
if self._response_data:
self._response_data.close()
logging.debug("Closing socket")
self._get_listener().close()
logging.debug("Dying.")
if test is False:
sys.exit(0)