this repo has no description
1#!/usr/bin/env python3
2# Copyright (c) Facebook, Inc. and its affiliates. (http://www.facebook.com)
3
4import weakref as _weakref
5from _thread import RLock as _RLock, allocate_lock as _allocate_lock
6
7from _builtins import _Unbound, _unimplemented
8
9
10class Barrier:
11 def __init__(self, *args, **kwargs):
12 _unimplemented()
13
14
15class BoundedSemaphore:
16 def __init__(self, *args, **kwargs):
17 _unimplemented()
18
19
20class BrokenBarrierError(RuntimeError):
21 pass
22
23
24class Condition:
25 def __init__(self, lock=None):
26 if lock is None:
27 lock = RLock()
28 self._lock = lock
29 self.acquire = lock.acquire
30 self.release = lock.release
31
32 def __enter__(self):
33 return self._lock.__enter__()
34
35 def __exit__(self, *args):
36 return self._lock.__exit__(*args)
37
38 def notify(self, n=1):
39 pass
40
41 def notify_all(self):
42 pass
43
44 def wait(self, timeout=None):
45 _unimplemented()
46
47 def wait_for(self, predicate, timeout=None):
48 _unimplemented()
49
50
51class Event:
52 def __init__(self):
53 self._flag = False
54
55 def clear(self):
56 self._flag = False
57
58 def is_set(self):
59 return self._flag
60
61 isSet = is_set
62
63 def set(self):
64 self._flag = True
65
66 def wait(self, timeout=None):
67 signaled = self._flag
68 if not signaled:
69 # Not much of a point waiting for someone to set the flag in a
70 # single-threaded setting, let's abort...
71 _unimplemented()
72 return signaled
73
74
75Lock = _allocate_lock
76
77
78def RLock(*args, **kwargs):
79 return _RLock()
80
81
82class Semaphore:
83 def __init__(self, *args, **kwargs):
84 # TODO(T76412433): Implement Semaphores
85 pass
86
87
88class Thread:
89 def __init__(self, *args, **kwargs):
90 if args == ("_main_thread_secret",):
91 _dangling.add(self)
92 return
93 _unimplemented()
94
95 def _bootstrap(self):
96 _unimplemented()
97
98 @property
99 def daemon(self):
100 return False
101
102 @daemon.setter
103 def daemon(self, daemonic):
104 _unimplemented()
105
106 def getName(self):
107 return self.name
108
109 @property
110 def ident(self):
111 return 1
112
113 def isDaemon(self):
114 return self.daemon
115
116 @property
117 def name(self):
118 return "MainThread"
119
120 @name.setter
121 def name(self, name):
122 _unimplemented()
123
124 def run(self):
125 _unimplemented()
126
127 def setDaemon(self, daemonic):
128 self.daemon = daemonic
129
130 def setName(self, name):
131 self.name = name
132
133 def start(self):
134 _unimplemented()
135
136 def join(self, timeout=None):
137 _unimplemented()
138
139 def is_alive(self):
140 return True
141
142 def isAlive(self):
143 return self.is_alive()
144
145
146class _DummyThread(Thread):
147 pass
148
149
150class _MainThread(Thread):
151 pass
152
153
154class Timer:
155 def __init__(self, *args, **kwargs):
156 _unimplemented()
157
158
159class _ThreadLocal:
160 pass
161
162
163local = _ThreadLocal
164
165
166_dangling = _weakref.WeakSet()
167
168
169_main_thread = _MainThread("_main_thread_secret")
170
171
172_thread_local = _ThreadLocal()
173
174
175def active_count():
176 return 1
177
178
179activeCount = active_count
180
181
182def current_thread():
183 return _main_thread
184
185
186currentThread = current_thread
187
188
189def enumerate():
190 return [_main_thread]
191
192
193def get_ident():
194 return _main_thread.ident
195
196
197def main_thread():
198 return _main_thread
199
200
201def setprofile(func):
202 _unimplemented()
203
204
205def settrace(func):
206 _unimplemented()
207
208
209def stack_size(size=_Unbound):
210 _unimplemented()