@@ -599,8 +599,9 @@ PyThreadHandleObject_traverse(PyThreadHandleObject *self, visitproc visit,
599
599
}
600
600
601
601
static void
602
- PyThreadHandleObject_dealloc (PyThreadHandleObject * self )
602
+ PyThreadHandleObject_dealloc (PyObject * op )
603
603
{
604
+ PyThreadHandleObject * self = (PyThreadHandleObject * )op ;
604
605
PyObject_GC_UnTrack (self );
605
606
PyTypeObject * tp = Py_TYPE (self );
606
607
ThreadHandle_decref (self -> handle );
@@ -609,23 +610,26 @@ PyThreadHandleObject_dealloc(PyThreadHandleObject *self)
609
610
}
610
611
611
612
static PyObject *
612
- PyThreadHandleObject_repr (PyThreadHandleObject * self )
613
+ PyThreadHandleObject_repr (PyObject * op )
613
614
{
615
+ PyThreadHandleObject * self = (PyThreadHandleObject * )op ;
614
616
PyThread_ident_t ident = ThreadHandle_ident (self -> handle );
615
617
return PyUnicode_FromFormat ("<%s object: ident=%" PY_FORMAT_THREAD_IDENT_T ">" ,
616
618
Py_TYPE (self )-> tp_name , ident );
617
619
}
618
620
619
621
static PyObject *
620
- PyThreadHandleObject_get_ident (PyThreadHandleObject * self ,
621
- PyObject * Py_UNUSED (ignored ))
622
+ PyThreadHandleObject_get_ident (PyObject * op , void * Py_UNUSED (ignored ))
622
623
{
624
+ PyThreadHandleObject * self = (PyThreadHandleObject * )op ;
623
625
return PyLong_FromUnsignedLongLong (ThreadHandle_ident (self -> handle ));
624
626
}
625
627
626
628
static PyObject *
627
- PyThreadHandleObject_join (PyThreadHandleObject * self , PyObject * args )
629
+ PyThreadHandleObject_join (PyObject * op , PyObject * args )
628
630
{
631
+ PyThreadHandleObject * self = (PyThreadHandleObject * )op ;
632
+
629
633
PyObject * timeout_obj = NULL ;
630
634
if (!PyArg_ParseTuple (args , "|O:join" , & timeout_obj )) {
631
635
return NULL ;
@@ -646,9 +650,9 @@ PyThreadHandleObject_join(PyThreadHandleObject *self, PyObject *args)
646
650
}
647
651
648
652
static PyObject *
649
- PyThreadHandleObject_is_done (PyThreadHandleObject * self ,
650
- PyObject * Py_UNUSED (ignored ))
653
+ PyThreadHandleObject_is_done (PyObject * op , PyObject * Py_UNUSED (ignored ))
651
654
{
655
+ PyThreadHandleObject * self = (PyThreadHandleObject * )op ;
652
656
if (_PyEvent_IsSet (& self -> handle -> thread_is_exiting )) {
653
657
Py_RETURN_TRUE ;
654
658
}
@@ -658,30 +662,30 @@ PyThreadHandleObject_is_done(PyThreadHandleObject *self,
658
662
}
659
663
660
664
static PyObject *
661
- PyThreadHandleObject_set_done (PyThreadHandleObject * self ,
662
- PyObject * Py_UNUSED (ignored ))
665
+ PyThreadHandleObject_set_done (PyObject * op , PyObject * Py_UNUSED (ignored ))
663
666
{
667
+ PyThreadHandleObject * self = (PyThreadHandleObject * )op ;
664
668
if (ThreadHandle_set_done (self -> handle ) < 0 ) {
665
669
return NULL ;
666
670
}
667
671
Py_RETURN_NONE ;
668
672
}
669
673
670
674
static PyGetSetDef ThreadHandle_getsetlist [] = {
671
- {"ident" , ( getter ) PyThreadHandleObject_get_ident , NULL , NULL },
675
+ {"ident" , PyThreadHandleObject_get_ident , NULL , NULL },
672
676
{0 },
673
677
};
674
678
675
679
static PyMethodDef ThreadHandle_methods [] = {
676
- {"join" , ( PyCFunction ) PyThreadHandleObject_join , METH_VARARGS , NULL },
677
- {"_set_done" , ( PyCFunction ) PyThreadHandleObject_set_done , METH_NOARGS , NULL },
678
- {"is_done" , ( PyCFunction ) PyThreadHandleObject_is_done , METH_NOARGS , NULL },
680
+ {"join" , PyThreadHandleObject_join , METH_VARARGS , NULL },
681
+ {"_set_done" , PyThreadHandleObject_set_done , METH_NOARGS , NULL },
682
+ {"is_done" , PyThreadHandleObject_is_done , METH_NOARGS , NULL },
679
683
{0 , 0 }
680
684
};
681
685
682
686
static PyType_Slot ThreadHandle_Type_slots [] = {
683
- {Py_tp_dealloc , ( destructor ) PyThreadHandleObject_dealloc },
684
- {Py_tp_repr , ( reprfunc ) PyThreadHandleObject_repr },
687
+ {Py_tp_dealloc , PyThreadHandleObject_dealloc },
688
+ {Py_tp_repr , PyThreadHandleObject_repr },
685
689
{Py_tp_getset , ThreadHandle_getsetlist },
686
690
{Py_tp_traverse , PyThreadHandleObject_traverse },
687
691
{Py_tp_methods , ThreadHandle_methods },
@@ -707,15 +711,16 @@ typedef struct {
707
711
} lockobject ;
708
712
709
713
static int
710
- lock_traverse (lockobject * self , visitproc visit , void * arg )
714
+ lock_traverse (PyObject * self , visitproc visit , void * arg )
711
715
{
712
716
Py_VISIT (Py_TYPE (self ));
713
717
return 0 ;
714
718
}
715
719
716
720
static void
717
- lock_dealloc (lockobject * self )
721
+ lock_dealloc (PyObject * op )
718
722
{
723
+ lockobject * self = (lockobject * )op ;
719
724
PyObject_GC_UnTrack (self );
720
725
if (self -> in_weakreflist != NULL ) {
721
726
PyObject_ClearWeakRefs ((PyObject * ) self );
@@ -784,11 +789,14 @@ lock_acquire_parse_args(PyObject *args, PyObject *kwds,
784
789
}
785
790
786
791
static PyObject *
787
- lock_PyThread_acquire_lock (lockobject * self , PyObject * args , PyObject * kwds )
792
+ lock_PyThread_acquire_lock (PyObject * op , PyObject * args , PyObject * kwds )
788
793
{
794
+ lockobject * self = (lockobject * )op ;
795
+
789
796
PyTime_t timeout ;
790
- if (lock_acquire_parse_args (args , kwds , & timeout ) < 0 )
797
+ if (lock_acquire_parse_args (args , kwds , & timeout ) < 0 ) {
791
798
return NULL ;
799
+ }
792
800
793
801
PyLockStatus r = acquire_timed (self -> lock_lock , timeout );
794
802
if (r == PY_LOCK_INTR ) {
@@ -824,8 +832,9 @@ PyDoc_STRVAR(enter_doc,
824
832
Lock the lock." );
825
833
826
834
static PyObject *
827
- lock_PyThread_release_lock (lockobject * self , PyObject * Py_UNUSED (ignored ))
835
+ lock_PyThread_release_lock (PyObject * op , PyObject * Py_UNUSED (ignored ))
828
836
{
837
+ lockobject * self = (lockobject * )op ;
829
838
/* Sanity check: the lock must be locked */
830
839
if (!self -> locked ) {
831
840
PyErr_SetString (ThreadError , "release unlocked lock" );
@@ -858,8 +867,9 @@ PyDoc_STRVAR(lock_exit_doc,
858
867
Release the lock." );
859
868
860
869
static PyObject *
861
- lock_locked_lock (lockobject * self , PyObject * Py_UNUSED (ignored ))
870
+ lock_locked_lock (PyObject * op , PyObject * Py_UNUSED (ignored ))
862
871
{
872
+ lockobject * self = (lockobject * )op ;
863
873
return PyBool_FromLong ((long )self -> locked );
864
874
}
865
875
@@ -876,16 +886,18 @@ PyDoc_STRVAR(locked_lock_doc,
876
886
An obsolete synonym of locked()." );
877
887
878
888
static PyObject *
879
- lock_repr (lockobject * self )
889
+ lock_repr (PyObject * op )
880
890
{
891
+ lockobject * self = (lockobject * )op ;
881
892
return PyUnicode_FromFormat ("<%s %s object at %p>" ,
882
893
self -> locked ? "locked" : "unlocked" , Py_TYPE (self )-> tp_name , self );
883
894
}
884
895
885
896
#ifdef HAVE_FORK
886
897
static PyObject *
887
- lock__at_fork_reinit (lockobject * self , PyObject * Py_UNUSED (args ))
898
+ lock__at_fork_reinit (PyObject * op , PyObject * Py_UNUSED (args ))
888
899
{
900
+ lockobject * self = (lockobject * )op ;
889
901
if (_PyThread_at_fork_reinit (& self -> lock_lock ) < 0 ) {
890
902
PyErr_SetString (ThreadError , "failed to reinitialize lock at fork" );
891
903
return NULL ;
@@ -924,20 +936,20 @@ static PyMethodDef lock_methods[] = {
924
936
METH_VARARGS | METH_KEYWORDS , acquire_lock_doc },
925
937
{"acquire" , _PyCFunction_CAST (lock_PyThread_acquire_lock ),
926
938
METH_VARARGS | METH_KEYWORDS , acquire_doc },
927
- {"release_lock" , ( PyCFunction ) lock_PyThread_release_lock ,
939
+ {"release_lock" , lock_PyThread_release_lock ,
928
940
METH_NOARGS , release_lock_doc },
929
- {"release" , ( PyCFunction ) lock_PyThread_release_lock ,
941
+ {"release" , lock_PyThread_release_lock ,
930
942
METH_NOARGS , release_doc },
931
- {"locked_lock" , ( PyCFunction ) lock_locked_lock ,
943
+ {"locked_lock" , lock_locked_lock ,
932
944
METH_NOARGS , locked_lock_doc },
933
- {"locked" , ( PyCFunction ) lock_locked_lock ,
945
+ {"locked" , lock_locked_lock ,
934
946
METH_NOARGS , locked_doc },
935
947
{"__enter__" , _PyCFunction_CAST (lock_PyThread_acquire_lock ),
936
948
METH_VARARGS | METH_KEYWORDS , enter_doc },
937
- {"__exit__" , ( PyCFunction ) lock_PyThread_release_lock ,
949
+ {"__exit__" , lock_PyThread_release_lock ,
938
950
METH_VARARGS , lock_exit_doc },
939
951
#ifdef HAVE_FORK
940
- {"_at_fork_reinit" , ( PyCFunction ) lock__at_fork_reinit ,
952
+ {"_at_fork_reinit" , lock__at_fork_reinit ,
941
953
METH_NOARGS , NULL },
942
954
#endif
943
955
{NULL , NULL } /* sentinel */
@@ -964,8 +976,8 @@ static PyMemberDef lock_type_members[] = {
964
976
};
965
977
966
978
static PyType_Slot lock_type_slots [] = {
967
- {Py_tp_dealloc , ( destructor ) lock_dealloc },
968
- {Py_tp_repr , ( reprfunc ) lock_repr },
979
+ {Py_tp_dealloc , lock_dealloc },
980
+ {Py_tp_repr , lock_repr },
969
981
{Py_tp_doc , (void * )lock_doc },
970
982
{Py_tp_methods , lock_methods },
971
983
{Py_tp_traverse , lock_traverse },
@@ -1001,8 +1013,9 @@ rlock_traverse(rlockobject *self, visitproc visit, void *arg)
1001
1013
1002
1014
1003
1015
static void
1004
- rlock_dealloc (rlockobject * self )
1016
+ rlock_dealloc (PyObject * op )
1005
1017
{
1018
+ rlockobject * self = (rlockobject * )op ;
1006
1019
PyObject_GC_UnTrack (self );
1007
1020
if (self -> in_weakreflist != NULL )
1008
1021
PyObject_ClearWeakRefs ((PyObject * ) self );
@@ -1029,8 +1042,9 @@ rlock_is_owned_by(rlockobject *self, PyThread_ident_t tid)
1029
1042
}
1030
1043
1031
1044
static PyObject *
1032
- rlock_acquire (rlockobject * self , PyObject * args , PyObject * kwds )
1045
+ rlock_acquire (PyObject * op , PyObject * args , PyObject * kwds )
1033
1046
{
1047
+ rlockobject * self = (rlockobject * )op ;
1034
1048
PyTime_t timeout ;
1035
1049
PyThread_ident_t tid ;
1036
1050
PyLockStatus r = PY_LOCK_ACQUIRED ;
@@ -1086,8 +1100,9 @@ PyDoc_STRVAR(rlock_enter_doc,
1086
1100
Lock the lock." );
1087
1101
1088
1102
static PyObject *
1089
- rlock_release (rlockobject * self , PyObject * Py_UNUSED (ignored ))
1103
+ rlock_release (PyObject * op , PyObject * Py_UNUSED (ignored ))
1090
1104
{
1105
+ rlockobject * self = (rlockobject * )op ;
1091
1106
PyThread_ident_t tid = PyThread_get_thread_ident_ex ();
1092
1107
1093
1108
if (!rlock_is_owned_by (self , tid )) {
@@ -1122,8 +1137,9 @@ PyDoc_STRVAR(rlock_exit_doc,
1122
1137
Release the lock." );
1123
1138
1124
1139
static PyObject *
1125
- rlock_acquire_restore (rlockobject * self , PyObject * args )
1140
+ rlock_acquire_restore (PyObject * op , PyObject * args )
1126
1141
{
1142
+ rlockobject * self = (rlockobject * )op ;
1127
1143
PyThread_ident_t owner ;
1128
1144
unsigned long count ;
1129
1145
int r = 1 ;
@@ -1154,8 +1170,9 @@ PyDoc_STRVAR(rlock_acquire_restore_doc,
1154
1170
For internal use by `threading.Condition`." );
1155
1171
1156
1172
static PyObject *
1157
- rlock_release_save (rlockobject * self , PyObject * Py_UNUSED (ignored ))
1173
+ rlock_release_save (PyObject * op , PyObject * Py_UNUSED (ignored ))
1158
1174
{
1175
+ rlockobject * self = (rlockobject * )op ;
1159
1176
PyThread_ident_t owner ;
1160
1177
unsigned long count ;
1161
1178
@@ -1180,8 +1197,9 @@ PyDoc_STRVAR(rlock_release_save_doc,
1180
1197
For internal use by `threading.Condition`." );
1181
1198
1182
1199
static PyObject *
1183
- rlock_recursion_count (rlockobject * self , PyObject * Py_UNUSED (ignored ))
1200
+ rlock_recursion_count (PyObject * op , PyObject * Py_UNUSED (ignored ))
1184
1201
{
1202
+ rlockobject * self = (rlockobject * )op ;
1185
1203
PyThread_ident_t tid = PyThread_get_thread_ident_ex ();
1186
1204
PyThread_ident_t owner =
1187
1205
_Py_atomic_load_ullong_relaxed (& self -> rlock_owner );
@@ -1195,8 +1213,9 @@ PyDoc_STRVAR(rlock_recursion_count_doc,
1195
1213
For internal use by reentrancy checks." );
1196
1214
1197
1215
static PyObject *
1198
- rlock_is_owned (rlockobject * self , PyObject * Py_UNUSED (ignored ))
1216
+ rlock_is_owned (PyObject * op , PyObject * Py_UNUSED (ignored ))
1199
1217
{
1218
+ rlockobject * self = (rlockobject * )op ;
1200
1219
PyThread_ident_t tid = PyThread_get_thread_ident_ex ();
1201
1220
1202
1221
if (rlock_is_owned_by (self , tid )) {
@@ -1232,8 +1251,9 @@ rlock_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
1232
1251
}
1233
1252
1234
1253
static PyObject *
1235
- rlock_repr (rlockobject * self )
1254
+ rlock_repr (PyObject * op )
1236
1255
{
1256
+ rlockobject * self = (rlockobject * )op ;
1237
1257
PyThread_ident_t owner =
1238
1258
_Py_atomic_load_ullong_relaxed (& self -> rlock_owner );
1239
1259
return PyUnicode_FromFormat (
@@ -1264,19 +1284,19 @@ rlock__at_fork_reinit(rlockobject *self, PyObject *Py_UNUSED(args))
1264
1284
static PyMethodDef rlock_methods [] = {
1265
1285
{"acquire" , _PyCFunction_CAST (rlock_acquire ),
1266
1286
METH_VARARGS | METH_KEYWORDS , rlock_acquire_doc },
1267
- {"release" , ( PyCFunction ) rlock_release ,
1287
+ {"release" , rlock_release ,
1268
1288
METH_NOARGS , rlock_release_doc },
1269
- {"_is_owned" , ( PyCFunction ) rlock_is_owned ,
1289
+ {"_is_owned" , rlock_is_owned ,
1270
1290
METH_NOARGS , rlock_is_owned_doc },
1271
- {"_acquire_restore" , ( PyCFunction ) rlock_acquire_restore ,
1291
+ {"_acquire_restore" , rlock_acquire_restore ,
1272
1292
METH_VARARGS , rlock_acquire_restore_doc },
1273
- {"_release_save" , ( PyCFunction ) rlock_release_save ,
1293
+ {"_release_save" , rlock_release_save ,
1274
1294
METH_NOARGS , rlock_release_save_doc },
1275
- {"_recursion_count" , ( PyCFunction ) rlock_recursion_count ,
1295
+ {"_recursion_count" , rlock_recursion_count ,
1276
1296
METH_NOARGS , rlock_recursion_count_doc },
1277
1297
{"__enter__" , _PyCFunction_CAST (rlock_acquire ),
1278
1298
METH_VARARGS | METH_KEYWORDS , rlock_enter_doc },
1279
- {"__exit__" , ( PyCFunction ) rlock_release ,
1299
+ {"__exit__" , rlock_release ,
1280
1300
METH_VARARGS , rlock_exit_doc },
1281
1301
#ifdef HAVE_FORK
1282
1302
{"_at_fork_reinit" , (PyCFunction )rlock__at_fork_reinit ,
@@ -1292,8 +1312,8 @@ static PyMemberDef rlock_type_members[] = {
1292
1312
};
1293
1313
1294
1314
static PyType_Slot rlock_type_slots [] = {
1295
- {Py_tp_dealloc , ( destructor ) rlock_dealloc },
1296
- {Py_tp_repr , ( reprfunc ) rlock_repr },
1315
+ {Py_tp_dealloc , rlock_dealloc },
1316
+ {Py_tp_repr , rlock_repr },
1297
1317
{Py_tp_methods , rlock_methods },
1298
1318
{Py_tp_alloc , PyType_GenericAlloc },
1299
1319
{Py_tp_new , rlock_new },
@@ -1392,8 +1412,9 @@ typedef struct {
1392
1412
} localdummyobject ;
1393
1413
1394
1414
static void
1395
- localdummy_dealloc (localdummyobject * self )
1415
+ localdummy_dealloc (PyObject * op )
1396
1416
{
1417
+ localdummyobject * self = (localdummyobject * )op ;
1397
1418
if (self -> weakreflist != NULL )
1398
1419
PyObject_ClearWeakRefs ((PyObject * ) self );
1399
1420
PyTypeObject * tp = Py_TYPE (self );
@@ -1407,7 +1428,7 @@ static PyMemberDef local_dummy_type_members[] = {
1407
1428
};
1408
1429
1409
1430
static PyType_Slot local_dummy_type_slots [] = {
1410
- {Py_tp_dealloc , ( destructor ) localdummy_dealloc },
1431
+ {Py_tp_dealloc , localdummy_dealloc },
1411
1432
{Py_tp_doc , "Thread-local dummy" },
1412
1433
{Py_tp_members , local_dummy_type_members },
1413
1434
{0 , 0 }
0 commit comments