@@ -945,60 +945,55 @@ _io_BytesIO_close_impl(bytesio *self)
945945 function to use the efficient instance representation of PEP 307.
946946 */
947947
948- static PyObject *
949- bytesio_getstate_lock_held (PyObject * op )
950- {
951- _Py_CRITICAL_SECTION_ASSERT_OBJECT_LOCKED (op );
952-
953- bytesio * self = bytesio_CAST (op );
954- PyObject * initvalue = _io_BytesIO_getvalue_impl (self );
955- PyObject * dict ;
956- PyObject * state ;
957-
958- if (initvalue == NULL )
959- return NULL ;
960- if (self -> dict == NULL ) {
961- dict = Py_NewRef (Py_None );
962- }
963- else {
964- dict = PyDict_Copy (self -> dict );
965- if (dict == NULL ) {
966- Py_DECREF (initvalue );
967- return NULL ;
968- }
969- }
970-
971- state = Py_BuildValue ("(OnN)" , initvalue , self -> pos , dict );
972- Py_DECREF (initvalue );
973- return state ;
974- }
975948
976949/*[clinic input]
950+ @critical_section
977951_io.BytesIO.__getstate__
978952[clinic start generated code]*/
979953
980954static PyObject *
981955_io_BytesIO___getstate___impl (bytesio * self )
982- /*[clinic end generated code: output=4a776270c8443b85 input=6e3cd9132f0cacdd ]*/
956+ /*[clinic end generated code: output=4a776270c8443b85 input=f41e5bc9731475c4 ]*/
983957{
984- PyObject * op = (PyObject * )self ;
985- PyObject * ret ;
986- Py_BEGIN_CRITICAL_SECTION (op );
987- ret = bytesio_getstate_lock_held (op );
988- Py_END_CRITICAL_SECTION ();
989- return ret ;
958+ PyObject * initvalue = _io_BytesIO_getvalue_impl (self );
959+ PyObject * dict ;
960+ PyObject * state ;
961+
962+ if (initvalue == NULL )
963+ return NULL ;
964+ if (self -> dict == NULL ) {
965+ dict = Py_NewRef (Py_None );
966+ }
967+ else {
968+ dict = PyDict_Copy (self -> dict );
969+ if (dict == NULL ) {
970+ Py_DECREF (initvalue );
971+ return NULL ;
972+ }
973+ }
974+
975+ state = Py_BuildValue ("(OnN)" , initvalue , self -> pos , dict );
976+ Py_DECREF (initvalue );
977+ return state ;
990978}
991979
980+
981+ /*[clinic input]
982+ @critical_section
983+ _io.BytesIO.__setstate__
984+
985+ state: object
986+ /
987+ [clinic start generated code]*/
988+
992989static PyObject *
993- bytesio_setstate_lock_held (PyObject * op , PyObject * state )
990+ _io_BytesIO___setstate___impl (bytesio * self , PyObject * state )
991+ /*[clinic end generated code: output=3605abdec171bb98 input=82a189599ba75083]*/
994992{
995- _Py_CRITICAL_SECTION_ASSERT_OBJECT_LOCKED (op );
996-
997993 PyObject * result ;
998994 PyObject * position_obj ;
999995 PyObject * dict ;
1000996 Py_ssize_t pos ;
1001- bytesio * self = bytesio_CAST (op );
1002997
1003998 assert (state != NULL );
1004999
@@ -1069,25 +1064,6 @@ bytesio_setstate_lock_held(PyObject *op, PyObject *state)
10691064 Py_RETURN_NONE ;
10701065}
10711066
1072- /*[clinic input]
1073- _io.BytesIO.__setstate__
1074-
1075- state: object
1076- /
1077- [clinic start generated code]*/
1078-
1079- static PyObject *
1080- _io_BytesIO___setstate___impl (bytesio * self , PyObject * state )
1081- /*[clinic end generated code: output=3605abdec171bb98 input=7d4339f5be0039ba]*/
1082- {
1083- PyObject * op = (PyObject * )self ;
1084- PyObject * ret ;
1085- Py_BEGIN_CRITICAL_SECTION (op );
1086- ret = bytesio_setstate_lock_held (op , state );
1087- Py_END_CRITICAL_SECTION ();
1088- return ret ;
1089- }
1090-
10911067static void
10921068bytesio_dealloc (PyObject * op )
10931069{
@@ -1168,12 +1144,18 @@ _io_BytesIO___init___impl(bytesio *self, PyObject *initvalue)
11681144 return 0 ;
11691145}
11701146
1147+
1148+ /*[clinic input]
1149+ @critical_section
1150+ _io.BytesIO.__sizeof__
1151+
1152+ Size of object in memory, in bytes.
1153+ [clinic start generated code]*/
1154+
11711155static PyObject *
1172- bytesio_sizeof_lock_held (PyObject * op )
1156+ _io_BytesIO___sizeof___impl (bytesio * self )
1157+ /*[clinic end generated code: output=f61b601bd055c4de input=6f01c36e6ff64c17]*/
11731158{
1174- _Py_CRITICAL_SECTION_ASSERT_OBJECT_LOCKED (op );
1175-
1176- bytesio * self = bytesio_CAST (op );
11771159 size_t res = _PyObject_SIZE (Py_TYPE (self ));
11781160 if (self -> buf && !SHARED_BUF (self )) {
11791161 size_t s = _PySys_GetSizeOf (self -> buf );
@@ -1185,24 +1167,6 @@ bytesio_sizeof_lock_held(PyObject *op)
11851167 return PyLong_FromSize_t (res );
11861168}
11871169
1188- /*[clinic input]
1189- _io.BytesIO.__sizeof__
1190-
1191- Size of object in memory, in bytes.
1192- [clinic start generated code]*/
1193-
1194- static PyObject *
1195- _io_BytesIO___sizeof___impl (bytesio * self )
1196- /*[clinic end generated code: output=f61b601bd055c4de input=097b24a2755a7b0b]*/
1197- {
1198- PyObject * op = (PyObject * )self ;
1199- PyObject * ret ;
1200- Py_BEGIN_CRITICAL_SECTION (op );
1201- ret = bytesio_sizeof_lock_held (op );
1202- Py_END_CRITICAL_SECTION ();
1203- return ret ;
1204- }
1205-
12061170static int
12071171bytesio_traverse (PyObject * op , visitproc visit , void * arg )
12081172{
0 commit comments