Python multiprocessing.connection.Listener() Examples
The following are 30
code examples of multiprocessing.connection.Listener().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
multiprocessing.connection
, or try the search function
.
Example #1
Source File: _test_multiprocessing.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_timeout(self): old_timeout = socket.getdefaulttimeout() try: socket.setdefaulttimeout(0.1) parent, child = multiprocessing.Pipe(duplex=True) l = multiprocessing.connection.Listener(family='AF_INET') p = multiprocessing.Process(target=self._test_timeout, args=(child, l.address)) p.start() child.close() self.assertEqual(parent.recv(), 123) parent.close() conn = l.accept() self.assertEqual(conn.recv(), 456) conn.close() l.close() p.join(10) finally: socket.setdefaulttimeout(old_timeout) # # Test what happens with no "if __name__ == '__main__'" #
Example #2
Source File: _test_multiprocessing.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def test_timeout(self): old_timeout = socket.getdefaulttimeout() try: socket.setdefaulttimeout(0.1) parent, child = multiprocessing.Pipe(duplex=True) l = multiprocessing.connection.Listener(family='AF_INET') p = multiprocessing.Process(target=self._test_timeout, args=(child, l.address)) p.start() child.close() self.assertEqual(parent.recv(), 123) parent.close() conn = l.accept() self.assertEqual(conn.recv(), 456) conn.close() l.close() p.join(10) finally: socket.setdefaulttimeout(old_timeout) # # Test what happens with no "if __name__ == '__main__'" #
Example #3
Source File: webservices.py From termite-visualizations with BSD 3-Clause "New" or "Revised" License | 6 votes |
def attach_debugger(host='localhost', port=6000, authkey='secret password'): import gluon.contrib.qdb as qdb import gluon.debug from multiprocessing.connection import Listener if isinstance(authkey, unicode): authkey = authkey.encode('utf8') if not hasattr(gluon.debug, 'qdb_listener'): # create a remote debugger server and wait for connection address = (host, port) # family is deduced to be 'AF_INET' gluon.debug.qdb_listener = Listener(address, authkey=authkey) gluon.debug.qdb_connection = gluon.debug.qdb_listener.accept() # create the backend gluon.debug.qdb_debugger = qdb.Qdb(gluon.debug.qdb_connection) gluon.debug.dbg = gluon.debug.qdb_debugger # welcome message (this should be displayed on the frontend) print 'debugger connected to', gluon.debug.qdb_listener.last_accepted return True # connection successful!
Example #4
Source File: test_multiprocessing.py From CTFCrackTools-V2 with GNU General Public License v3.0 | 6 votes |
def test_timeout(self): old_timeout = socket.getdefaulttimeout() try: socket.setdefaulttimeout(0.1) parent, child = multiprocessing.Pipe(duplex=True) l = multiprocessing.connection.Listener(family='AF_INET') p = multiprocessing.Process(target=self._test_timeout, args=(child, l.address)) p.start() child.close() self.assertEqual(parent.recv(), 123) parent.close() conn = l.accept() self.assertEqual(conn.recv(), 456) conn.close() l.close() p.join(10) finally: socket.setdefaulttimeout(old_timeout) # # Test what happens with no "if __name__ == '__main__'" #
Example #5
Source File: test_multiprocessing.py From ironpython2 with Apache License 2.0 | 6 votes |
def test_issue14725(self): l = self.connection.Listener() p = self.Process(target=self._test, args=(l.address,)) p.daemon = True p.start() time.sleep(1) # On Windows the client process should by now have connected, # written data and closed the pipe handle by now. This causes # ConnectNamdedPipe() to fail with ERROR_NO_DATA. See Issue # 14725. conn = l.accept() self.assertEqual(conn.recv(), 'hello') conn.close() p.join() l.close() # # Test of sending connection and socket objects between processes #
Example #6
Source File: test_multiprocessing.py From CTFCrackTools-V2 with GNU General Public License v3.0 | 6 votes |
def test_issue14725(self): l = self.connection.Listener() p = self.Process(target=self._test, args=(l.address,)) p.daemon = True p.start() time.sleep(1) # On Windows the client process should by now have connected, # written data and closed the pipe handle by now. This causes # ConnectNamdedPipe() to fail with ERROR_NO_DATA. See Issue # 14725. conn = l.accept() self.assertEqual(conn.recv(), 'hello') conn.close() p.join() l.close() # # Test of sending connection and socket objects between processes #
Example #7
Source File: test_multiprocessing.py From ironpython2 with Apache License 2.0 | 6 votes |
def test_timeout(self): old_timeout = socket.getdefaulttimeout() try: socket.setdefaulttimeout(0.1) parent, child = multiprocessing.Pipe(duplex=True) l = multiprocessing.connection.Listener(family='AF_INET') p = multiprocessing.Process(target=self._test_timeout, args=(child, l.address)) p.start() child.close() self.assertEqual(parent.recv(), 123) parent.close() conn = l.accept() self.assertEqual(conn.recv(), 456) conn.close() l.close() p.join(10) finally: socket.setdefaulttimeout(old_timeout) # # Test what happens with no "if __name__ == '__main__'" #
Example #8
Source File: arproxy.py From iSDX with Apache License 2.0 | 6 votes |
def main(): global arpListener, config parser = argparse.ArgumentParser() parser.add_argument('dir', help='the directory of the example') args = parser.parse_args() # locate config file config_file = os.path.join(os.path.dirname(os.path.realpath(__file__)),"..","examples",args.dir,"config","sdx_global.cfg") logger.info("Reading config file %s", config_file) config = parse_config(config_file) logger.info("Starting ARP Listener") arpListener = ArpListener() ap_thread = Thread(target=arpListener.start) ap_thread.start() # start pctrl listener in foreground logger.info("Starting PCTRL Listener") pctrlListener = PctrlListener() pctrlListener.start()
Example #9
Source File: test_multiprocessing.py From BinderFilter with MIT License | 6 votes |
def test_issue14725(self): l = self.connection.Listener() p = self.Process(target=self._test, args=(l.address,)) p.daemon = True p.start() time.sleep(1) # On Windows the client process should by now have connected, # written data and closed the pipe handle by now. This causes # ConnectNamdedPipe() to fail with ERROR_NO_DATA. See Issue # 14725. conn = l.accept() self.assertEqual(conn.recv(), 'hello') conn.close() p.join() l.close() # # Test of sending connection and socket objects between processes #
Example #10
Source File: test_multiprocessing.py From BinderFilter with MIT License | 6 votes |
def test_timeout(self): old_timeout = socket.getdefaulttimeout() try: socket.setdefaulttimeout(0.1) parent, child = multiprocessing.Pipe(duplex=True) l = multiprocessing.connection.Listener(family='AF_INET') p = multiprocessing.Process(target=self._test_timeout, args=(child, l.address)) p.start() child.close() self.assertEqual(parent.recv(), 123) parent.close() conn = l.accept() self.assertEqual(conn.recv(), 456) conn.close() l.close() p.join(10) finally: socket.setdefaulttimeout(old_timeout) # # Test what happens with no "if __name__ == '__main__'" #
Example #11
Source File: reduction.py From BinderFilter with MIT License | 6 votes |
def _get_listener(): global _listener if _listener is None: _lock.acquire() try: if _listener is None: debug('starting listener and thread for sending handles') _listener = Listener(authkey=current_process().authkey) t = threading.Thread(target=_serve) t.daemon = True t.start() finally: _lock.release() return _listener
Example #12
Source File: _test_multiprocessing.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def _listener(cls, conn, families): for fam in families: l = cls.connection.Listener(family=fam) conn.send(l.address) new_conn = l.accept() conn.send(new_conn) new_conn.close() l.close() l = socket.socket() l.bind((test.support.HOST, 0)) l.listen() conn.send(l.getsockname()) new_conn, addr = l.accept() conn.send(new_conn) new_conn.close() l.close() conn.recv()
Example #13
Source File: reduction.py From Splunking-Crime with GNU Affero General Public License v3.0 | 6 votes |
def _get_listener(): global _listener if _listener is None: _lock.acquire() try: if _listener is None: debug('starting listener and thread for sending handles') _listener = Listener(authkey=current_process().authkey) t = threading.Thread(target=_serve) t.daemon = True t.start() finally: _lock.release() return _listener
Example #14
Source File: test_multiprocessing.py From oss-ftp with MIT License | 6 votes |
def test_timeout(self): old_timeout = socket.getdefaulttimeout() try: socket.setdefaulttimeout(0.1) parent, child = multiprocessing.Pipe(duplex=True) l = multiprocessing.connection.Listener(family='AF_INET') p = multiprocessing.Process(target=self._test_timeout, args=(child, l.address)) p.start() child.close() self.assertEqual(parent.recv(), 123) parent.close() conn = l.accept() self.assertEqual(conn.recv(), 456) conn.close() l.close() p.join(10) finally: socket.setdefaulttimeout(old_timeout) # # Test what happens with no "if __name__ == '__main__'" #
Example #15
Source File: _test_multiprocessing.py From ironpython3 with Apache License 2.0 | 6 votes |
def _listener(cls, conn, families): for fam in families: l = cls.connection.Listener(family=fam) conn.send(l.address) new_conn = l.accept() conn.send(new_conn) new_conn.close() l.close() l = socket.socket() l.bind((test.support.HOST, 0)) l.listen(1) conn.send(l.getsockname()) new_conn, addr = l.accept() conn.send(new_conn) new_conn.close() l.close() conn.recv()
Example #16
Source File: webservices.py From termite-data-server with BSD 3-Clause "New" or "Revised" License | 6 votes |
def attach_debugger(host='localhost', port=6000, authkey='secret password'): import gluon.contrib.qdb as qdb import gluon.debug from multiprocessing.connection import Listener if isinstance(authkey, unicode): authkey = authkey.encode('utf8') if not hasattr(gluon.debug, 'qdb_listener'): # create a remote debugger server and wait for connection address = (host, port) # family is deduced to be 'AF_INET' gluon.debug.qdb_listener = Listener(address, authkey=authkey) gluon.debug.qdb_connection = gluon.debug.qdb_listener.accept() # create the backend gluon.debug.qdb_debugger = qdb.Qdb(gluon.debug.qdb_connection) gluon.debug.dbg = gluon.debug.qdb_debugger # welcome message (this should be displayed on the frontend) print 'debugger connected to', gluon.debug.qdb_listener.last_accepted return True # connection successful!
Example #17
Source File: webservices.py From termite-data-server with BSD 3-Clause "New" or "Revised" License | 6 votes |
def attach_debugger(host='localhost', port=6000, authkey='secret password'): import gluon.contrib.qdb as qdb import gluon.debug from multiprocessing.connection import Listener if isinstance(authkey, unicode): authkey = authkey.encode('utf8') if not hasattr(gluon.debug, 'qdb_listener'): # create a remote debugger server and wait for connection address = (host, port) # family is deduced to be 'AF_INET' gluon.debug.qdb_listener = Listener(address, authkey=authkey) gluon.debug.qdb_connection = gluon.debug.qdb_listener.accept() # create the backend gluon.debug.qdb_debugger = qdb.Qdb(gluon.debug.qdb_connection) gluon.debug.dbg = gluon.debug.qdb_debugger # welcome message (this should be displayed on the frontend) print 'debugger connected to', gluon.debug.qdb_listener.last_accepted return True # connection successful!
Example #18
Source File: monitoring.py From klustakwik2 with BSD 3-Clause "New" or "Revised" License | 6 votes |
def __init__(self, server=None, authkey='klustakwik', global_ns=None, local_ns=None, level=0): if multiprocessing is None: raise ImportError('Cannot import the required multiprocessing module.') if server is None: server = ('localhost', 2719) frame = inspect.stack()[level + 1][0] ns_global, ns_local = frame.f_globals, frame.f_locals if global_ns is None: global_ns = frame.f_globals if local_ns is None: local_ns = frame.f_locals self.local_ns = local_ns self.global_ns = global_ns self.listener = Listener(server, authkey=authkey) self.conn = None
Example #19
Source File: _test_multiprocessing.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_timeout(self): old_timeout = socket.getdefaulttimeout() try: socket.setdefaulttimeout(0.1) parent, child = multiprocessing.Pipe(duplex=True) l = multiprocessing.connection.Listener(family='AF_INET') p = multiprocessing.Process(target=self._test_timeout, args=(child, l.address)) p.start() child.close() self.assertEqual(parent.recv(), 123) parent.close() conn = l.accept() self.assertEqual(conn.recv(), 456) conn.close() l.close() p.join(10) finally: socket.setdefaulttimeout(old_timeout) # # Test what happens with no "if __name__ == '__main__'" #
Example #20
Source File: test_multiprocessing.py From gcblue with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_issue14725(self): l = self.connection.Listener() p = self.Process(target=self._test, args=(l.address,)) p.daemon = True p.start() time.sleep(1) # On Windows the client process should by now have connected, # written data and closed the pipe handle by now. This causes # ConnectNamdedPipe() to fail with ERROR_NO_DATA. See Issue # 14725. conn = l.accept() self.assertEqual(conn.recv(), 'hello') conn.close() p.join() l.close() # # Test of sending connection and socket objects between processes #
Example #21
Source File: _test_multiprocessing.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def _listener(cls, conn, families): for fam in families: l = cls.connection.Listener(family=fam) conn.send(l.address) new_conn = l.accept() conn.send(new_conn) new_conn.close() l.close() l = socket.socket() l.bind((test.support.HOST, 0)) l.listen() conn.send(l.getsockname()) new_conn, addr = l.accept() conn.send(new_conn) new_conn.close() l.close() conn.recv()
Example #22
Source File: test_multiprocessing.py From gcblue with BSD 3-Clause "New" or "Revised" License | 6 votes |
def test_timeout(self): old_timeout = socket.getdefaulttimeout() try: socket.setdefaulttimeout(0.1) parent, child = multiprocessing.Pipe(duplex=True) l = multiprocessing.connection.Listener(family='AF_INET') p = multiprocessing.Process(target=self._test_timeout, args=(child, l.address)) p.start() child.close() self.assertEqual(parent.recv(), 123) parent.close() conn = l.accept() self.assertEqual(conn.recv(), 456) conn.close() l.close() p.join(10) finally: socket.setdefaulttimeout(old_timeout) # # Test what happens with no "if __name__ == '__main__'" #
Example #23
Source File: test_multiprocessing.py From oss-ftp with MIT License | 6 votes |
def test_issue14725(self): l = self.connection.Listener() p = self.Process(target=self._test, args=(l.address,)) p.daemon = True p.start() time.sleep(1) # On Windows the client process should by now have connected, # written data and closed the pipe handle by now. This causes # ConnectNamdedPipe() to fail with ERROR_NO_DATA. See Issue # 14725. conn = l.accept() self.assertEqual(conn.recv(), 'hello') conn.close() p.join() l.close() # # Test of sending connection and socket objects between processes #
Example #24
Source File: test_multiprocessing.py From gcblue with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_rapid_restart(self): authkey = os.urandom(32) manager = QueueManager( address=(test.test_support.HOST, 0), authkey=authkey, serializer=SERIALIZER) srvr = manager.get_server() addr = srvr.address # Close the connection.Listener socket which gets opened as a part # of manager.get_server(). It's not needed for the test. srvr.listener.close() manager.start() p = self.Process(target=self._putter, args=(manager.address, authkey)) p.daemon = True p.start() queue = manager.get_queue() self.assertEqual(queue.get(), 'hello world') del queue manager.shutdown() manager = QueueManager( address=addr, authkey=authkey, serializer=SERIALIZER) manager.start() manager.shutdown() # # #
Example #25
Source File: _test_multiprocessing.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_invalid_family(self): with self.assertRaises(ValueError): multiprocessing.connection.Listener(r'\\.\test')
Example #26
Source File: qdb.py From termite-visualizations with BSD 3-Clause "New" or "Revised" License | 5 votes |
def main(host='localhost', port=6000, authkey='secret password'): "Debug a script and accept a remote frontend" if not sys.argv[1:] or sys.argv[1] in ("--help", "-h"): print "usage: pdb.py scriptfile [arg] ..." sys.exit(2) mainpyfile = sys.argv[1] # Get script filename if not os.path.exists(mainpyfile): print 'Error:', mainpyfile, 'does not exist' sys.exit(1) del sys.argv[0] # Hide "pdb.py" from argument list # Replace pdb's dir with script's dir in front of module search path. sys.path[0] = os.path.dirname(mainpyfile) from multiprocessing.connection import Listener address = (host, port) # family is deduced to be 'AF_INET' listener = Listener(address, authkey=authkey) print "qdb debugger backend: waiting for connection at", address conn = listener.accept() print 'qdb debugger backend: connected to', listener.last_accepted # create the backend qdb = Qdb(conn, redirect_stdio=True, allow_interruptions=True) try: print "running", mainpyfile qdb._runscript(mainpyfile) print "The program finished" except SystemExit: # In most cases SystemExit does not warrant a post-mortem session. print "The program exited via sys.exit(). Exit status: ", print sys.exc_info()[1] raise except: raise conn.close() listener.close()
Example #27
Source File: test_multiprocessing.py From gcblue with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_listener_client(self): for family in self.connection.families: l = self.connection.Listener(family=family) p = self.Process(target=self._test, args=(l.address,)) p.daemon = True p.start() conn = l.accept() self.assertEqual(conn.recv(), 'hello') p.join() l.close()
Example #28
Source File: _test_multiprocessing.py From ironpython3 with Apache License 2.0 | 5 votes |
def _test_ignore_listener(cls, conn): def handler(signum, frame): pass signal.signal(signal.SIGUSR1, handler) with multiprocessing.connection.Listener() as l: conn.send(l.address) a = l.accept() a.send('welcome')
Example #29
Source File: recipe-578260.py From code with MIT License | 5 votes |
def __init__(self, username): self.auth_key = AUTH_KEY self.addr = ADDR self.username = username self.listener = connection.Listener(self.addr, authkey=self.auth_key)
Example #30
Source File: concrete.py From amphitrite with GNU General Public License v3.0 | 5 votes |
def __init__(self, arguments, start_address=None, skip_library=True): self.closed = True self.running = False self._string_variables = dict() self._variables = [] if not isinstance(arguments, (list, tuple)): arguments = [arguments] self.args = arguments self.path = self.args[0] self.binary = os.path.split(self.path)[-1] with open(self.path, 'rb') as f: self.arch = ELFFile(f).get_machine_arch() if self.arch not in ('x86', 'x64'): raise RuntimeError('Architecture is not x86 or x64.') print '[*] Starting Triton process' listener = Listener(('localhost', 31313)) child = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'child.py') self.process = subprocess.Popen(['triton', child] + arguments, stdin=subprocess.PIPE, ) global started_child started_child.append(self.process) self.connection = listener.accept() self.connection.send({'path': self.path, 'binary': self.binary, 'skip_library': skip_library, 'start_address': start_address, 'arch': self.arch}) if self.connection.recv() == 'triton ready.': print '\r[+] Starting Triton process: Done' self.closed = True else: self.connection.close() raise RuntimeError('Failed to start Triton')