Issue #19425 -- a pickling error should not cause pool to hang.

This commit is contained in:
Richard Oudkerk 2013-10-28 23:11:58 +00:00
parent 3797065ac5
commit e90cedb711
2 changed files with 19 additions and 5 deletions

View file

@ -1691,6 +1691,16 @@ class _TestPool(BaseTestCase):
self.assertEqual(2, len(call_args))
self.assertIsInstance(call_args[1], ValueError)
def test_map_unplicklable(self):
# Issue #19425 -- failure to pickle should not cause a hang
if self.TYPE == 'threads':
return
class A(object):
def __reduce__(self):
raise RuntimeError('cannot pickle')
with self.assertRaises(RuntimeError):
self.pool.map(sqr, [A()]*10)
def test_map_chunksize(self):
try:
self.pool.map_async(sqr, [], chunksize=1).get(timeout=TIMEOUT1)