@@ -129,7 +129,6 @@ typedef struct {
129129 int task_must_cancel ;
130130 int task_log_destroy_pending ;
131131 int task_num_cancels_requested ;
132- uint64_t task_name_counter ;
133132} TaskObj ;
134133
135134typedef struct {
@@ -2066,16 +2065,13 @@ _asyncio_Task___init___impl(TaskObj *self, PyObject *coro, PyObject *loop,
20662065 self -> task_must_cancel = 0 ;
20672066 self -> task_log_destroy_pending = 1 ;
20682067 self -> task_num_cancels_requested = 0 ;
2069- self -> task_name_counter = 0 ;
20702068 Py_INCREF (coro );
20712069 Py_XSETREF (self -> task_coro , coro );
20722070
20732071 if (name == Py_None ) {
20742072 // optimization: defer task name formatting
2075- // set task_name to None to indicate deferred formatting, and
2076- // store the task name counter for formatting in get_name impl
2073+ // set task_name to None to indicate deferred formatting
20772074 Py_INCREF (name );
2078- self -> task_name_counter = ++ state -> task_name_counter ;
20792075 } else if (!PyUnicode_CheckExact (name )) {
20802076 name = PyObject_Str (name );
20812077 } else {
@@ -2455,9 +2451,9 @@ _asyncio_Task_get_name_impl(TaskObj *self)
24552451{
24562452 if (self -> task_name ) {
24572453 if (Py_IsNone (self -> task_name )) {
2458- assert ( self -> task_name_counter > 0 );
2454+ asyncio_state * state = get_asyncio_state_by_def (( PyObject * ) self );
24592455 PyObject * name = PyUnicode_FromFormat (
2460- "Task-%" PRIu64 , self -> task_name_counter );
2456+ "Task-%" PRIu64 , ++ state -> task_name_counter );
24612457 Py_XSETREF (self -> task_name , name );
24622458 return Py_NewRef (self -> task_name );
24632459 }
0 commit comments