Multiprocesamiento de Python: ¿cómo pasar kwargs para que funcione?

¿Cómo paso un diccionario a una función con Multiprocesamiento de Python? La documentación:https://docs.python.org/3.4/library/multiprocessing.html#reference dice que pase un diccionario, pero sigo recibiendo

TypeError: fp() got multiple values for argument 'what'

Aquí está el código:

from multiprocessing import Pool, Process, Manager

def fp(name, numList=None, what='no'):
        print ('hello %s %s'% (name, what))
        numList.append(name+'44')

if __name__ == '__main__':

    manager = Manager()

    numList = manager.list()
    for i in range(10):
        keywords = {'what':'yes'}
        p = Process(target=fp, args=('bob'+str(i)), kwargs={'what':'yes'})
        p.start()
        print("Start done")
        p.join()
        print("Join done")
    print (numList)

Respuestas a la pregunta(1)

Su respuesta a la pregunta