Hi all,

I'm having a strange behavior when executing the following script:
---------------------------
import multiprocessing

def f(i):
    return i

p = multiprocessing.Pool()
for i in range(20):
    def c(r):
        print r, i
    p.apply_async(f, (i,) , callback=c)
p.close()
p.join()
---------------------------

Result:
0 6
1 11
2 13
3 15
4 15
5 19
etc....

It seems that the callbacks of all submitted tasks are being overridden with the last callback submitted by apply_async. Is this the right behaviour or I am stumbling in some issue? I'm using Python 2.7.3 @ Ubuntu 12.04

Regards,
André

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to