You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by du...@apache.org on 2018/07/20 15:20:20 UTC

[trafficserver] branch master updated: Bug fix in microServer threading and reorganize code

This is an automated email from the ASF dual-hosted git repository.

duke8253 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/master by this push:
     new 13a26ac  Bug fix in microServer threading and reorganize code
13a26ac is described below

commit 13a26ac7ff01de5501be4ee4dc1eec189264efad
Author: Jesse Zhang <ma...@gmail.com>
AuthorDate: Tue Jul 10 10:52:50 2018 -0500

    Bug fix in microServer threading and reorganize code
---
 tests/gold_tests/autest-site/microserver.test.ext |  7 +++++--
 tests/tools/microServer/uWServer.py               | 25 +++++++++++++++--------
 2 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/tests/gold_tests/autest-site/microserver.test.ext b/tests/gold_tests/autest-site/microserver.test.ext
index 17f93d9..72f3178 100644
--- a/tests/gold_tests/autest-site/microserver.test.ext
+++ b/tests/gold_tests/autest-site/microserver.test.ext
@@ -184,8 +184,11 @@ def MakeOriginServer(obj, name, port=False, ip='INADDR_LOOPBACK', delay=False, s
     if (delay == False):
         delay = 0
 
-    command = "python3 {0} --data-dir {1} --port {2} --ip_address {3} --delay {4} -m test --ssl {5} --lookupkey '{6}' -m {7}".format(
-        server_path, data_dir, port, ipaddr, delay, ssl, lookup_key, mode)
+    command = "python3 {0} --data-dir {1} --port {2} --ip_address {3} --delay {4} -m test --lookupkey '{5}' -m {6}".format(
+        server_path, data_dir, port, ipaddr, delay, lookup_key, mode)
+
+    if ssl:
+        command += " --ssl True"
 
     for flag, value in options.items():
         command += " {} {}".format(flag, value)
diff --git a/tests/tools/microServer/uWServer.py b/tests/tools/microServer/uWServer.py
index 8f6354a..4977d35 100644
--- a/tests/tools/microServer/uWServer.py
+++ b/tests/tools/microServer/uWServer.py
@@ -673,9 +673,8 @@ def main():
                         then the required format will be {%%Host}{PATH}")
 
     args = parser.parse_args()
-    options = args
     global time_delay
-    time_delay = options.delay
+    time_delay = args.delay
 
     # set up global dictionary of {uuid (string): response (Response object)}
     s = sv.SessionValidator(args.data_dir)
@@ -690,21 +689,31 @@ def main():
         lookup_key_ = args.lookupkey
         MyHandler.protocol_version = HTTP_VERSION
 
-        if IPConstants.isIPv6(options.ip_address):
+        if IPConstants.isIPv6(args.ip_address):
             print("Server running on IPv6")
             HTTPServer.address_family = socket.AF_INET6
 
-        if options.ssl == "True" or options.ssl == "true":
-            server = SSLServer((IPConstants.getIP(options.ip_address), options.port), MyHandler, options)
+        if args.ssl == "True" or args.ssl == "true":
+            server = SSLServer((IPConstants.getIP(args.ip_address), args.port), MyHandler, args)
         else:
-            server = ThreadingServer((IPConstants.getIP(options.ip_address), options.port), MyHandler, options)
+            server = ThreadingServer((IPConstants.getIP(args.ip_address), args.port), MyHandler, args)
 
         server.timeout = 5
-        print("Started server on port {0}".format(options.port))
-        server_thread = threading.Thread(target=server.serve_forever())
+        print("Started server on port {0}".format(args.port))
+        server_thread = threading.Thread(target=server.serve_forever)
         server_thread.daemon = True
         server_thread.start()
 
+        try:
+            while 1:
+                time.sleep(1)
+                sys.stderr.flush()
+                sys.stdout.flush()
+        except KeyboardInterrupt:
+            print("\n=== ^C received, shutting down microservers ===")
+            server.shutdown()
+            server_thread.join()
+
     except KeyboardInterrupt:
         print("\n=== ^C received, shutting down httpserver ===")
         server.socket.close()