pywebsocket_wrapper.py (899B)
1 # 2 # This Source Code Form is subject to the terms of the Mozilla Public 3 # License, v. 2.0. If a copy of the MPL was not distributed with this 4 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 5 # 6 7 """A wrapper around pywebsocket's standalone.py which causes it to ignore 8 SIGINT. 9 10 """ 11 12 import signal 13 import sys 14 15 if __name__ == "__main__": 16 sys.path = ["pywebsocket3"] + sys.path 17 from mod_pywebsocket import standalone 18 19 # If we received --interactive as the first argument, ignore SIGINT so 20 # pywebsocket doesn't die on a ctrl+c meant for the debugger. Otherwise, 21 # die immediately on SIGINT so we don't print a messy backtrace. 22 if len(sys.argv) >= 2 and sys.argv[1] == "--interactive": 23 del sys.argv[1] 24 signal.signal(signal.SIGINT, signal.SIG_IGN) 25 else: 26 signal.signal(signal.SIGINT, lambda signum, frame: sys.exit(1)) 27 28 standalone._main()