Skip to content

Commit

Permalink
fix: occasional AttributeError in CythonEvent.__repr__ (#487)
Browse files Browse the repository at this point in the history
  • Loading branch information
BobTheBuidler authored Dec 16, 2024
1 parent 27f3ab3 commit 4f591d6
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions a_sync/primitives/locks/event.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,18 @@ cdef class CythonEvent(_DebugDaemonMixin):
if self.__name
else "object"
)

cdef str status = "set" if self._value else "unset"
if self._waiters:
status += ", waiters:{}".format(len(self._waiters))

try:
waiters = self._waiters
except AttributeError:
# TODO: debug how this error is possible since _waiters is set in __init__
pass
else:
if len_waiters := len(waiters):
status += ", waiters:{}".format(len_waiters)

return "<{}.{} {} at {} [{}]>".format(
self.__class__.__module__,
self.__class__.__name__,
Expand Down Expand Up @@ -185,4 +194,4 @@ cdef class CythonEvent(_DebugDaemonMixin):


cdef inline bint _is_not_done(fut: asyncio.Future):
return <str>fut._state == "PENDING"
return <str>fut._state == "PENDING"

0 comments on commit 4f591d6

Please sign in to comment.