|
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 = ['pywebsocket'] + sys.path |
|
17 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() |