From 152a0316b4f17d77f5a642144c6f1e9abf60c1fb Mon Sep 17 00:00:00 2001 From: hexin02 Date: Mon, 12 Apr 2021 21:06:56 +0800 Subject: [PATCH] fix `call_soon_threadsafe` but not really thread-safe --- uvloop/loop.pyx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/uvloop/loop.pyx b/uvloop/loop.pyx index 4d96ffa6..61d77cec 100644 --- a/uvloop/loop.pyx +++ b/uvloop/loop.pyx @@ -1281,7 +1281,11 @@ cdef class Loop: """Like call_soon(), but thread-safe.""" if not args: args = None - handle = self._call_soon(callback, args, context) + cdef Handle handle + handle = new_Handle(self, callback, args, context) + self._check_closed() + self._ready.append(handle) + self._ready_len += 1 self.handler_async.send() return handle