self.assertNotEqual(newparam, param)
self.assertEqual(newparam.sched_priority, 0)
+ @requires_sched
+ def test_bug_140634(self):
+ sched_priority = float('inf') # any new reference
+ param = posix.sched_param(sched_priority)
+ param.__reduce__()
+ del sched_priority, param # should not crash
+ support.gc_collect() # just to be sure
+
@unittest.skipUnless(hasattr(posix, "sched_rr_get_interval"), "no function")
def test_sched_rr_get_interval(self):
try:
static PyObject *
os_sched_param_reduce(PyObject *self, PyObject *Py_UNUSED(dummy))
{
- return Py_BuildValue("(O(N))", Py_TYPE(self), PyStructSequence_GetItem(self, 0));
+ return Py_BuildValue("(O(O))", Py_TYPE(self), PyStructSequence_GetItem(self, 0));
}
static PyMethodDef os_sched_param_reduce_method = {