[rtems-tools commit] tester/tftp: Handle ctl-C when active.

Chris Johns chrisj at rtems.org
Wed Sep 4 23:51:09 UTC 2019


Module:    rtems-tools
Branch:    master
Commit:    89442b7c0ca75c214580046f70c5c94bdcf8dedb
Changeset: http://git.rtems.org/rtems-tools/commit/?id=89442b7c0ca75c214580046f70c5c94bdcf8dedb

Author:    Chris Johns <chrisj at rtems.org>
Date:      Tue Sep  3 16:57:56 2019 +1000

tester/tftp: Handle ctl-C when active.

---

 tester/rt/tftpy/TftpServer.py | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/tester/rt/tftpy/TftpServer.py b/tester/rt/tftpy/TftpServer.py
index 8dc6d78..2789322 100644
--- a/tester/rt/tftpy/TftpServer.py
+++ b/tester/rt/tftpy/TftpServer.py
@@ -168,25 +168,30 @@ class TftpServer(TftpSession):
                     if not key in self.sessions:
                         log.debug("Creating new server context for "
                                      "session key = %s" % key)
-                        self.sessions[key] = TftpContextServer(raddress,
-                                                               rport,
-                                                               timeout,
-                                                               self.root,
-                                                               self.dyn_file_func,
-                                                               self.upload_open)
                         try:
+                            self.sessions[key] = TftpContextServer(raddress,
+                                                                   rport,
+                                                                   timeout,
+                                                                   self.root,
+                                                                   self.dyn_file_func,
+                                                                   self.upload_open)
                             self.sessions[key].start(buffer)
                         except TftpException as err:
                             deletion_list.append(key)
                             log.error("Fatal exception thrown from "
                                       "session %s: %s" % (key, str(err)))
+                        except KeyboardInterrupt:
+                            pass
+                        except:
+                            deletion_list.append(key)
+                            log.error("Fatal exception thrown from "
+                                      "session %s: %s" % (key, str(err)))
                     else:
                         log.warning("received traffic on main socket for "
                                  "existing session??")
                     log.info("Currently handling these sessions:")
                     for session_key, session in list(self.sessions.items()):
                         log.info("    %s" % session)
-
                 else:
                     # Must find the owner of this traffic.
                     for key in self.sessions:




More information about the vc mailing list