title: Forming numpy array from array buffer from shared memory (multiprocessing) fails
body: <p>I need to have a multidimensional array in a shared memory between two processes. I'm trying to make a simple example that works: I send <code>[1, 2, 3, 4, 5, 6, 7, 8, 9]</code> to the other process, which reshapes it into <code>[[1, 2, 3], [4, 5, 6], [7, 8, 9]]</code> without taking additional memory.</p>
  
  <pre><code>import multiprocessing
  import ctypes
  import numpy
  
  
  def f(array):
      nmp = numpy.frombuffer(array.get_obj(), dtype=int)
      b = nmp.reshape((3, 3))
  
  
  if __name__ == '__main__':
      time_array = []
      import common_lib
      common_lib.time_usage(time_array)
      arr = multiprocessing.Array(ctypes.c_int, [1,2,3,4,5,6,7,8,9])
      p = multiprocessing.Process(target=f, args=(arr,))
      p.start()
      p.join()
  </code></pre>
  
  <p>I did exactly as was in the manuals. But the function <code>frombuffer</code> gives this error:</p>
  
  <blockquote>
    <p>ValueError: buffer size must be a multiple of element size</p>
  </blockquote>