Python threading._MainThread() Examples
The following are 30
code examples of threading._MainThread().
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
threading
, or try the search function
.
Example #1
Source File: dataloader.py From mt-dnn with MIT License | 6 votes |
def _set_SIGCHLD_handler(): # Windows doesn't support SIGCHLD handler if sys.platform == 'win32': return # can't set signal in child threads if not isinstance(threading.current_thread(), threading._MainThread): return global _SIGCHLD_handler_set if _SIGCHLD_handler_set: return previous_handler = signal.getsignal(signal.SIGCHLD) if not callable(previous_handler): previous_handler = None def handler(signum, frame): # This following call uses `waitid` with WNOHANG from C side. Therefore, # Python can still get and update the process status successfully. _error_if_any_worker_fails() if previous_handler is not None: previous_handler(signum, frame) signal.signal(signal.SIGCHLD, handler) _SIGCHLD_handler_set = True
Example #2
Source File: loader_fn.py From 3D-convolutional-speaker-recognition-pytorch with Apache License 2.0 | 6 votes |
def _set_SIGCHLD_handler(): # Windows doesn't support SIGCHLD handler if sys.platform == 'win32': return # can't set signal in child threads if not isinstance(threading.current_thread(), threading._MainThread): return global _SIGCHLD_handler_set if _SIGCHLD_handler_set: return previous_handler = signal.getsignal(signal.SIGCHLD) if not callable(previous_handler): previous_handler = None def handler(signum, frame): # This following call uses `waitid` with WNOHANG from C side. Therefore, # Python can still get and update the process status successfully. _error_if_any_worker_fails() if previous_handler is not None: previous_handler(signum, frame) signal.signal(signal.SIGCHLD, handler) _SIGCHLD_handler_set = True
Example #3
Source File: dataloader.py From EMANet with GNU General Public License v3.0 | 6 votes |
def _set_SIGCHLD_handler(): # Windows doesn't support SIGCHLD handler if sys.platform == 'win32': return # can't set signal in child threads if not isinstance(threading.current_thread(), threading._MainThread): return global _SIGCHLD_handler_set if _SIGCHLD_handler_set: return previous_handler = signal.getsignal(signal.SIGCHLD) if not callable(previous_handler): previous_handler = None def handler(signum, frame): # This following call uses `waitid` with WNOHANG from C side. Therefore, # Python can still get and update the process status successfully. _error_if_any_worker_fails() if previous_handler is not None: previous_handler(signum, frame) signal.signal(signal.SIGCHLD, handler) _SIGCHLD_handler_set = True
Example #4
Source File: persistent_dataloader.py From PVN3D with MIT License | 6 votes |
def _set_SIGCHLD_handler(): # Windows doesn't support SIGCHLD handler if sys.platform == "win32": return # can't set signal in child threads if not isinstance(threading.current_thread(), threading._MainThread): return global _SIGCHLD_handler_set if _SIGCHLD_handler_set: return previous_handler = signal.getsignal(signal.SIGCHLD) if not callable(previous_handler): previous_handler = None def handler(signum, frame): # This following call uses `waitid` with WNOHANG from C side. Therefore, # Python can still get and update the process status successfully. # C._error_if_any_worker_fails() if previous_handler is not None: previous_handler(signum, frame) signal.signal(signal.SIGCHLD, handler) _SIGCHLD_handler_set = True
Example #5
Source File: persistent_dataloader.py From sanet_relocal_demo with GNU General Public License v3.0 | 6 votes |
def _set_SIGCHLD_handler(): # Windows doesn't support SIGCHLD handler if sys.platform == 'win32': return # can't set signal in child threads if not isinstance(threading.current_thread(), threading._MainThread): return global _SIGCHLD_handler_set if _SIGCHLD_handler_set: return previous_handler = signal.getsignal(signal.SIGCHLD) if not callable(previous_handler): previous_handler = None def handler(signum, frame): # This following call uses `waitid` with WNOHANG from C side. Therefore, # Python can still get and update the process status successfully. # C._error_if_any_worker_fails() if previous_handler is not None: previous_handler(signum, frame) signal.signal(signal.SIGCHLD, handler) _SIGCHLD_handler_set = True
Example #6
Source File: dataloader.py From semantic-segmentation-pytorch with BSD 3-Clause "New" or "Revised" License | 6 votes |
def _set_SIGCHLD_handler(): # Windows doesn't support SIGCHLD handler if sys.platform == 'win32': return # can't set signal in child threads if not isinstance(threading.current_thread(), threading._MainThread): return global _SIGCHLD_handler_set if _SIGCHLD_handler_set: return previous_handler = signal.getsignal(signal.SIGCHLD) if not callable(previous_handler): previous_handler = None def handler(signum, frame): # This following call uses `waitid` with WNOHANG from C side. Therefore, # Python can still get and update the process status successfully. _error_if_any_worker_fails() if previous_handler is not None: previous_handler(signum, frame) signal.signal(signal.SIGCHLD, handler) _SIGCHLD_handler_set = True
Example #7
Source File: Threading.py From Cura with GNU Lesser General Public License v3.0 | 6 votes |
def call_on_qt_thread(func): @functools.wraps(func) def _call_on_qt_thread_wrapper(*args, **kwargs): # If the current thread is the main thread, which is the Qt thread, directly call the function. current_thread = threading.current_thread() if isinstance(current_thread, threading._MainThread): return func(*args, **kwargs) def _handle_call(ico, *args, **kwargs): ico.result = func(*args, **kwargs) ico.finish_event.set() inter_call_object = InterCallObject() new_args = tuple([inter_call_object] + list(args)[:]) CuraApplication.getInstance().callLater(_handle_call, *new_args, **kwargs) inter_call_object.finish_event.wait() return inter_call_object.result return _call_on_qt_thread_wrapper
Example #8
Source File: events.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def get_event_loop(self): """Get the event loop. This may be None or an instance of EventLoop. """ if (self._local._loop is None and not self._local._set_called and isinstance(threading.current_thread(), threading._MainThread)): self.set_event_loop(self.new_event_loop()) if self._local._loop is None: raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) return self._local._loop
Example #9
Source File: concurrency.py From tensorpack with Apache License 2.0 | 5 votes |
def is_main_thread(): if six.PY2: return isinstance(threading.current_thread(), threading._MainThread) else: # a nicer solution with py3 return threading.current_thread() == threading.main_thread()
Example #10
Source File: _parallel_backends.py From twitter-stock-recommendation with MIT License | 5 votes |
def effective_n_jobs(self, n_jobs): """Determine the number of jobs which are going to run in parallel. This also checks if we are attempting to create a nested parallel loop. """ if mp is None: return 1 if mp.current_process().daemon: # Daemonic processes cannot have children if n_jobs != 1: warnings.warn( 'Multiprocessing-backed parallel loops cannot be nested,' ' setting n_jobs=1', stacklevel=3) return 1 if not isinstance(threading.current_thread(), threading._MainThread): # Prevent posix fork inside in non-main posix threads warnings.warn( 'Multiprocessing-backed parallel loops cannot be nested' ' below threads, setting n_jobs=1', stacklevel=3) return 1 return super(MultiprocessingBackend, self).effective_n_jobs(n_jobs)
Example #11
Source File: events.py From android_universal with MIT License | 5 votes |
def get_event_loop(self): """Get the event loop. This may be None or an instance of EventLoop. """ if (self._local._loop is None and not self._local._set_called and isinstance(threading.current_thread(), threading._MainThread)): self.set_event_loop(self.new_event_loop()) if self._local._loop is None: raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) return self._local._loop
Example #12
Source File: unix_events.py From android_universal with MIT License | 5 votes |
def set_event_loop(self, loop): """Set the event loop. As a side effect, if a child watcher was set before, then calling .set_event_loop() from the main thread will call .attach_loop(loop) on the child watcher. """ super().set_event_loop(loop) if (self._watcher is not None and isinstance(threading.current_thread(), threading._MainThread)): self._watcher.attach_loop(loop)
Example #13
Source File: unix_events.py From android_universal with MIT License | 5 votes |
def _init_watcher(self): with events._lock: if self._watcher is None: # pragma: no branch self._watcher = SafeChildWatcher() if isinstance(threading.current_thread(), threading._MainThread): self._watcher.attach_loop(self._local._loop)
Example #14
Source File: diaphora.py From diaphora with GNU Affero General Public License v3.0 | 5 votes |
def db_close(self): tid = threading.current_thread().ident if tid in self.dbs_dict: self.dbs_dict[tid].close() del self.dbs_dict[tid] if isinstance(threading.current_thread(), threading._MainThread): self.db.close()
Example #15
Source File: cve_scanner.py From openscap-daemon with GNU Lesser General Public License v2.1 | 5 votes |
def _do_work(self, image_list): from oscap_docker_python.get_cve_input import getInputCVE self.scan_list = image_list cve_get = getInputCVE(self.image_tmp) if self.ac.fetch_cve_url != "": cve_get.url = self.ac.fetch_cve_url if self.ac.fetch_cve: cve_get.fetch_dist_data() threads = [] mnt_dir = tempfile.mkdtemp() for image in image_list: if image in self.cs.dead_cids: raise ImageScannerClientError("Scan not completed. Cannot " "scan the dead " "container {0}".format(image)) cids = self._get_cids_for_image(self.cs, image) t = threading.Thread(target=self.search_containers, name=image, args=(image, cids, self.output, mnt_dir,)) threads.append(t) logging.info("Number of containers to scan: {0}".format(len(threads))) if isinstance(threading.current_thread(), threading._MainThread): signal.signal(signal.SIGINT, self.signal_handler) self.threads_complete = 0 self.cur_scan_threads = 0 while len(threads) > 0: if self.cur_scan_threads < self.procs: new_thread = threads.pop() new_thread.start() self.cur_scan_threads += 1 while self.cur_scan_threads > 0: time.sleep(1) pass os.rmdir(mnt_dir) if self.failed_scan is not None: raise ImageScannerClientError(self.failed_scan) self.output.report_summary()
Example #16
Source File: unix_events.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _init_watcher(self): with events._lock: if self._watcher is None: # pragma: no branch self._watcher = SafeChildWatcher() if isinstance(threading.current_thread(), threading._MainThread): self._watcher.attach_loop(self._local._loop)
Example #17
Source File: unix_events.py From annotated-py-projects with MIT License | 5 votes |
def _init_watcher(self): with events._lock: # 锁 if self._watcher is None: # pragma: no branch self._watcher = SafeChildWatcher() # 孩子监视器 # 当前线程为主线程 if isinstance(threading.current_thread(), threading._MainThread): self._watcher.attach_loop(self._local._loop) # # 对外接口: 设置事件循环 #
Example #18
Source File: hub.py From robot with MIT License | 5 votes |
def _heartbeat(self): """ 放入线程的产生心跳 """ assert not isinstance(threading.currentThread(), threading._MainThread) while 1: try: self.load_next_request(HeartbeatRequest()) except: pass time.sleep(60)
Example #19
Source File: unix_events.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def set_event_loop(self, loop): """Set the event loop. As a side effect, if a child watcher was set before, then calling .set_event_loop() from the main thread will call .attach_loop(loop) on the child watcher. """ super().set_event_loop(loop) if (self._watcher is not None and isinstance(threading.current_thread(), threading._MainThread)): self._watcher.attach_loop(loop)
Example #20
Source File: diaphora.py From diaphora with GNU Affero General Public License v3.0 | 5 votes |
def open_db(self): db = sqlite3.connect(self.db_name, check_same_thread=True) db.text_factory = str db.row_factory = sqlite3.Row tid = threading.current_thread().ident self.dbs_dict[tid] = db if isinstance(threading.current_thread(), threading._MainThread): self.db = db self.create_schema() db.execute("analyze")
Example #21
Source File: tornadohttpclient.py From robot with MIT License | 5 votes |
def _fetch(self, request, callback, kwargs, delay): if isinstance(threading.currentThread(), threading._MainThread): raise threading.ThreadError, "Can't run this function in _MainThread" time.sleep(delay) self.fetch(request, callback, **kwargs)
Example #22
Source File: events.py From odoo13-x64 with GNU General Public License v3.0 | 5 votes |
def get_event_loop(self): """Get the event loop for the current context. Returns an instance of EventLoop or raises an exception. """ if (self._local._loop is None and not self._local._set_called and isinstance(threading.current_thread(), threading._MainThread)): self.set_event_loop(self.new_event_loop()) if self._local._loop is None: raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) return self._local._loop
Example #23
Source File: unix_events.py From odoo13-x64 with GNU General Public License v3.0 | 5 votes |
def set_event_loop(self, loop): """Set the event loop. As a side effect, if a child watcher was set before, then calling .set_event_loop() from the main thread will call .attach_loop(loop) on the child watcher. """ super().set_event_loop(loop) if (self._watcher is not None and isinstance(threading.current_thread(), threading._MainThread)): self._watcher.attach_loop(loop)
Example #24
Source File: unix_events.py From odoo13-x64 with GNU General Public License v3.0 | 5 votes |
def _init_watcher(self): with events._lock: if self._watcher is None: # pragma: no branch self._watcher = SafeChildWatcher() if isinstance(threading.current_thread(), threading._MainThread): self._watcher.attach_loop(self._local._loop)
Example #25
Source File: events.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def get_event_loop(self): """Get the event loop. This may be None or an instance of EventLoop. """ if (self._local._loop is None and not self._local._set_called and isinstance(threading.current_thread(), threading._MainThread)): self.set_event_loop(self.new_event_loop()) if self._local._loop is None: raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) return self._local._loop
Example #26
Source File: unix_events.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def set_event_loop(self, loop): """Set the event loop. As a side effect, if a child watcher was set before, then calling .set_event_loop() from the main thread will call .attach_loop(loop) on the child watcher. """ super().set_event_loop(loop) if self._watcher is not None and \ isinstance(threading.current_thread(), threading._MainThread): self._watcher.attach_loop(loop)
Example #27
Source File: unix_events.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def _init_watcher(self): with events._lock: if self._watcher is None: # pragma: no branch self._watcher = SafeChildWatcher() if isinstance(threading.current_thread(), threading._MainThread): self._watcher.attach_loop(self._local._loop)
Example #28
Source File: _parallel_backends.py From Splunking-Crime with GNU Affero General Public License v3.0 | 5 votes |
def effective_n_jobs(self, n_jobs): """Determine the number of jobs which are going to run in parallel. This also checks if we are attempting to create a nested parallel loop. """ if mp is None: return 1 if mp.current_process().daemon: # Daemonic processes cannot have children if n_jobs != 1: warnings.warn( 'Multiprocessing-backed parallel loops cannot be nested,' ' setting n_jobs=1', stacklevel=3) return 1 if not isinstance(threading.current_thread(), threading._MainThread): # Prevent posix fork inside in non-main posix threads warnings.warn( 'Multiprocessing-backed parallel loops cannot be nested' ' below threads, setting n_jobs=1', stacklevel=3) return 1 return super(MultiprocessingBackend, self).effective_n_jobs(n_jobs)
Example #29
Source File: events.py From annotated-py-projects with MIT License | 5 votes |
def get_event_loop(self): """Get the event loop. This may be None or an instance of EventLoop. """ if (self._local._loop is None and not self._local._set_called and isinstance(threading.current_thread(), threading._MainThread)): self.set_event_loop(self.new_event_loop()) if self._local._loop is None: raise RuntimeError('There is no current event loop in thread %r.' % threading.current_thread().name) return self._local._loop
Example #30
Source File: unix_events.py From annotated-py-projects with MIT License | 5 votes |
def set_event_loop(self, loop): """Set the event loop. As a side effect, if a child watcher was set before, then calling .set_event_loop() from the main thread will call .attach_loop(loop) on the child watcher. """ super().set_event_loop(loop) # 当前线程为主线程 if self._watcher is not None and \ isinstance(threading.current_thread(), threading._MainThread): self._watcher.attach_loop(loop)