|
9 | 9 | """ |
10 | 10 |
|
11 | 11 | # import multiprocessing |
12 | | -import gevent |
13 | | -from gevent import monkey |
14 | | -monkey.patch_all() |
| 12 | +import threading |
| 13 | +# import gevent |
| 14 | +# from gevent import monkey |
| 15 | +# monkey.patch_all() |
15 | 16 | import os |
16 | | -from gevent import socket |
17 | | -from gevent.event import Event |
| 17 | +import socket |
| 18 | +# from gevent import socket |
| 19 | +from threading import Event |
18 | 20 | import sys |
19 | 21 | import traceback |
20 | 22 | import logging |
@@ -59,7 +61,7 @@ def check_channel_exec_request(self, channel, cmd): |
59 | 61 | cmd = cmd.replace('\"', "") |
60 | 62 | if not cmd in self.cmd_req_response: |
61 | 63 | return False |
62 | | - channel.send(self.cmd_req_response[cmd]) |
| 64 | + channel.send(self.cmd_req_response[cmd] + os.linesep) |
63 | 65 | channel.send_exit_status(0) |
64 | 66 | self.event.set() |
65 | 67 | return True |
@@ -150,14 +152,18 @@ def handle_ssh_connection(cmd_req_response, sock, fail_auth = False): |
150 | 152 | return |
151 | 153 |
|
152 | 154 | def start_server(cmd_req_response, sock, fail_auth=False): |
153 | | - return gevent.spawn(listen, cmd_req_response, sock, fail_auth=fail_auth) |
| 155 | + t = threading.Thread(target=listen, args=(cmd_req_response, sock,), |
| 156 | + kwargs={'fail_auth' : fail_auth}) |
| 157 | + t.start() |
| 158 | + return t |
| 159 | + # return gevent.spawn(listen, cmd_req_response, sock, fail_auth=fail_auth) |
154 | 160 |
|
155 | 161 | if __name__ == "__main__": |
156 | 162 | logging.basicConfig() |
157 | 163 | logger.setLevel(logging.DEBUG) |
158 | 164 | sock = make_socket('127.0.0.1') |
159 | | - server = start_server({'fake' : 'fake response' + os.linesep}, sock) |
| 165 | + server = start_server({'fake' : 'fake response'}, sock) |
160 | 166 | try: |
161 | | - server.get() |
| 167 | + server.join() |
162 | 168 | except KeyboardInterrupt: |
163 | 169 | sys.exit(0) |
0 commit comments