draw() and multiprocessing module

Hi Everyone,

I'm puzzled by the following problem:
If I do plot updates by using a callback triggered by the multiprocessing module's apply_async then the updates do not take - only the final result is shown, as if in non-interactive mode.

What could be the cause for this? Are there known issues using the multiprocessing module and interactive mode in matplotlib.


matplotlib.__version__ -> ''

Example code is below:

import pylab
import time
from multiprocessing import Pool

x = pylab.arange(0,2*pylab.pi,0.01)
line, = pylab.plot(x,pylab.sin(x))
start_time = time.time()

def time_waster():

def plot(Dummy=None):
   t = time.time() - start_time
   print t

for i in range(200):

pool = Pool()
for N in range(60):