I don't understand this part of the multiprocessing doc (python.org) and I quote:
"An example which will deadlock is the following:
from multiprocessing import Process, Queue
def f(q):
q.put('X' * 1000000)
if __name__ == '__main__':
queue = Queue()
p = Process(target=f, args=(queue,))
p.start()
p.join() # this deadlocks
obj = queue.get()
" First, why does it block ? And more surprising, it works perfectly when I try with some smaller values than 1000000 in the definition of f (it works with 10,100,1000,10000, but not with 100000).
Thanks a lot for your help !