Comments
Patch
@@ -67,6 +67,9 @@
if pycompat.ispy3:
+ def ismainthread():
+ return threading.current_thread() == threading.main_thread()
+
class _blockingreader(object):
def __init__(self, wrapped):
self._wrapped = wrapped
@@ -100,6 +103,9 @@
else:
+ def ismainthread():
+ return isinstance(threading.current_thread(), threading._MainThread)
+
def _blockingreader(wrapped):
return wrapped
@@ -154,7 +160,7 @@
a thread-based worker. Should be disabled for CPU heavy tasks that don't
release the GIL.
"""
- enabled = ui.configbool(b'worker', b'enabled')
+ enabled = ui.configbool(b'worker', b'enabled') and ismainthread()
if enabled and worthwhile(ui, costperarg, len(args), threadsafe=threadsafe):
return _platformworker(ui, func, staticargs, args, hasretval)
return func(*staticargs + (args,))