| Index: gclient_utils.py
|
| diff --git a/gclient_utils.py b/gclient_utils.py
|
| index 235d414585835785db978f3d3ffe88b1e11c2eca..39fb2f660345342aefc1ea961f3003199ff3bb06 100644
|
| --- a/gclient_utils.py
|
| +++ b/gclient_utils.py
|
| @@ -481,7 +481,14 @@ class WorkItem(object):
|
| def __init__(self, name):
|
| # A unique string representing this work item.
|
| self._name = name
|
| - self.lock = threading.RLock()
|
| + try:
|
| + self.lock = threading.Lock()
|
| + except: # pylint: disable=W0702
|
| + if sys.platform != 'cygwin':
|
| + raise
|
| + # On cygwin, it's throwing randomly. Hack and reuse the single
|
| + # sys.stdout.lock. Yep you read it right. Single lock.
|
| + self.lock = sys.stdout.lock
|
|
|
| def run(self, work_queue):
|
| """work_queue is passed as keyword argument so it should be
|
|
|