Python _thread.interrupt_main() Examples
The following are 30
code examples of _thread.interrupt_main().
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
_thread
, or try the search function
.
Example #1
Source File: inst.py From kaldi-python-io with Apache License 2.0 | 9 votes |
def pipe_fopen(command, mode, background=True): if mode not in ["rb", "r"]: raise RuntimeError("Now only support input from pipe") p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE) def background_command_waiter(command, p): p.wait() if p.returncode != 0: warnings.warn("Command \"{0}\" exited with status {1}".format( command, p.returncode)) _thread.interrupt_main() if background: thread = threading.Thread(target=background_command_waiter, args=(command, p)) # exits abnormally if main thread is terminated . thread.daemon = True thread.start() else: background_command_waiter(command, p) return p.stdout
Example #2
Source File: socket_parent.py From reversi_ai with MIT License | 6 votes |
def recv_bytes(self, connection): """ Given a socket connection, receive up to 2048 bytes from its buffer and return that data as a bytes object. Returns an empty bytes object if there is no data to receive. """ try: bytes_message = connection.recv(2048) except BlockingIOError: # Non-blocking socket couldn't immediately receive. return None except ConnectionResetError: self._print_message('Connection was reset.') self.connection.close() _thread.interrupt_main() return bytes_message
Example #3
Source File: bottle.py From lokun-record with GNU Affero General Public License v3.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #4
Source File: rtt.py From pylink with Apache License 2.0 | 6 votes |
def write_rtt(jlink): """Writes kayboard input to JLink RTT buffer #0. This method is a loop that blocks waiting on stdin. When enter is pressed, LF and NUL bytes are added to the input and transmitted as a byte list. If the JLink is disconnected, it will exit gracefully. If any other exceptions are raised, they will be caught and re-raised after interrupting the main thread. Args: jlink (pylink.JLink): The JLink to write to. Raises: Exception on error. """ try: while jlink.connected(): bytes = list(bytearray(input(), "utf-8") + b"\x0A\x00") bytes_written = jlink.rtt_write(0, bytes) except Exception: print("IO write thread exception, exiting...") thread.interrupt_main() raise
Example #5
Source File: bottle.py From aws-servicebroker with Apache License 2.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #6
Source File: bottle.py From appengine-bottle-skeleton with Apache License 2.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #7
Source File: bottle.py From silvia-pi with MIT License | 6 votes |
def run(self): exists = os.path.exists mtime = lambda p: os.stat(p).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #8
Source File: cmd_tools.py From colin with GNU General Public License v3.0 | 6 votes |
def exit_after(s): """ Use as decorator to exit process if function takes longer than s seconds. Direct call is available via exit_after(TIMEOUT_IN_S)(fce)(args). Inspired by https://stackoverflow.com/a/31667005 """ def outer(fn): def inner(*args, **kwargs): timer = threading.Timer(s, thread.interrupt_main) timer.start() try: result = fn(*args, **kwargs) except KeyboardInterrupt: raise TimeoutError("Function '{}' hit the timeout ({}s).".format(fn.__name__, s)) finally: timer.cancel() return result return inner return outer
Example #9
Source File: bottle.py From bazarr with GNU General Public License v3.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #10
Source File: bottle.py From SalesforceXyTools with Apache License 2.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #11
Source File: __init__.py From arnold-usd with Apache License 2.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #12
Source File: parser.py From workload-collocation-agent with Apache License 2.0 | 6 votes |
def parse_loop(parse: Callable[[], List[Metric]], storage: Storage, append_service_level_metrics_func: Callable[[List[Metric]], None]): """ Runs parsing and kafka storage in loop. parse_loop.last_valid_metrics list is accessed by the HTTP server GET request handler. """ parse_loop.metrics = [] parse_loop.last_valid_metrics = [] while True: try: parse_loop.metrics = parse() # parse() can return an empty list, so we store new values for kafka and http server # only when there are new metrics to store if parse_loop.metrics: append_service_level_metrics_func(metrics=parse_loop.metrics) for metric in parse_loop.metrics: log.debug("Found metric: {}".format(metric)) parse_loop.last_valid_metrics = parse_loop.metrics.copy() if storage is not None: store_with_retry(storage, parse_loop.last_valid_metrics) except BaseException: _thread.interrupt_main() raise
Example #13
Source File: executor.py From ffn with Apache License 2.0 | 6 votes |
def _schedule_batch(self, client_ids, fetches): """Schedules a single batch for execution.""" with timer_counter(self.counters, 'executor-inference'): try: ret = self.session.run( fetches, { self.model.input_seed: self.input_seed, self.model.input_patches: self.input_image}) except Exception as e: # pylint:disable=broad-except logging.exception(e) # If calling TF didn't work (faulty hardware, misconfiguration, etc), # we want to terminate the whole program. thread.interrupt_main() raise e with timer_counter(self.counters, 'executor-output'): with self._lock: for i, client_id in enumerate(client_ids): try: self.outputs[client_id].put( {k: v[i, ...] for k, v in ret.items()}) except KeyError: # This could happen if a client unregistered itself # while inference was running. pass
Example #14
Source File: bottle.py From POC-EXP with GNU General Public License v3.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda p: os.stat(p).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #15
Source File: bottle.py From slack-machine with MIT License | 6 votes |
def run(self): exists = os.path.exists mtime = lambda p: os.stat(p).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') or '' if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #16
Source File: bottle.py From nlgserv with MIT License | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #17
Source File: bottle.py From NoobSec-Toolkit with GNU General Public License v2.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #18
Source File: bottle.py From NoobSec-Toolkit with GNU General Public License v2.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #19
Source File: bottle.py From NoobSec-Toolkit with GNU General Public License v2.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #20
Source File: bottle.py From NoobSec-Toolkit with GNU General Public License v2.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #21
Source File: tools.py From sisyphus with Mozilla Public License 2.0 | 6 votes |
def default_handle_exception_interrupt_main_thread(func): """ :param func: any function. usually run in another thread. If some exception occurs, it will interrupt the main thread (send KeyboardInterrupt to the main thread). If this is run in the main thread itself, it will raise SystemExit(1). :return: function func wrapped """ import sys import _thread import threading def wrapped_func(*args, **kwargs): try: return func(*args, **kwargs) except Exception: logging.error("Exception in thread %r:" % threading.current_thread()) sys.excepthook(*sys.exc_info()) if threading.current_thread() is not threading.main_thread(): _thread.interrupt_main() raise SystemExit(1) return wrapped_func
Example #22
Source File: bottle.py From contrail-server-manager with Apache License 2.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #23
Source File: bottle.py From opsbro with MIT License | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #24
Source File: bottle.py From warriorframework with Apache License 2.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda p: os.stat(p).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #25
Source File: bottle.py From warriorframework with Apache License 2.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda p: os.stat(p).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #26
Source File: bottle.py From malwareHunter with GNU General Public License v2.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #27
Source File: bottle.py From malwareHunter with GNU General Public License v2.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #28
Source File: bottle.py From teye_scanner_for_book with GNU General Public License v3.0 | 6 votes |
def run(self): exists = os.path.exists mtime = lambda path: os.stat(path).st_mtime files = dict() for module in list(sys.modules.values()): path = getattr(module, '__file__', '') if path[-4:] in ('.pyo', '.pyc'): path = path[:-1] if path and exists(path): files[path] = mtime(path) while not self.status: if not exists(self.lockfile)\ or mtime(self.lockfile) < time.time() - self.interval - 5: self.status = 'error' thread.interrupt_main() for path, lmtime in list(files.items()): if not exists(path) or mtime(path) > lmtime: self.status = 'reload' thread.interrupt_main() break time.sleep(self.interval)
Example #29
Source File: gateway_base.py From execnet with MIT License | 6 votes |
def _terminate_execution(self): # called from receiverthread self._trace("shutting down execution pool") self._execpool.trigger_shutdown() if not self._execpool.waitall(5.0): self._trace("execution ongoing after 5 secs," " trying interrupt_main") # We try hard to terminate execution based on the assumption # that there is only one gateway object running per-process. if sys.platform != "win32": self._trace("sending ourselves a SIGINT") os.kill(os.getpid(), 2) # send ourselves a SIGINT elif interrupt_main is not None: self._trace("calling interrupt_main()") interrupt_main() if not self._execpool.waitall(10.0): self._trace( "execution did not finish in another 10 secs, " "calling os._exit()" ) os._exit(1)
Example #30
Source File: ldapattack.py From CVE-2019-1040 with MIT License | 5 votes |
def addUserToGroup(self, userDn, domainDumper, groupDn): global alreadyEscalated # For display only groupName = groupDn.split(',')[0][3:] userName = userDn.split(',')[0][3:] # Now add the user as a member to this group res = self.client.modify(groupDn, { 'member': [(ldap3.MODIFY_ADD, [userDn])]}) if res: LOG.info('Adding user: %s to group %s result: OK' % (userName, groupName)) LOG.info('Privilege escalation succesful, shutting down...') alreadyEscalated = True _thread.interrupt_main() else: LOG.error('Failed to add user to %s group: %s' % (groupName, str(self.client.result)))