Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 4 additions & 10 deletions fibers/_pyfibers.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@ def current():
try:
return _tls.current_fiber
except AttributeError:
fiber = _create_main_fiber()
_tls.current_fiber = fiber
_tls.main_fiber = fiber
fiber = _tls.current_fiber = _tls.main_fiber = _create_main_fiber()
return fiber


Expand All @@ -36,10 +34,7 @@ def _run(c):
cont = self._cont
self._cont = None
self._ended = True
_continuation.permute(
cont,
self._get_active_parent()._cont,
)
_continuation.permute(cont, self._get_active_parent()._cont)

self._func = _run

Expand All @@ -53,9 +48,7 @@ def _run(c):
def _get_active_parent(self):
parent = self.parent
while True:
if (parent is not None
and parent._cont is not None
and not parent._ended):
if parent is not None and parent._cont is not None and not parent._ended:
break
parent = parent.parent
return parent
Expand Down Expand Up @@ -127,3 +120,4 @@ def _create_main_fiber():
main_fiber._thread_id = threading.current_thread().ident
main_fiber.__dict__['parent'] = None
return main_fiber