iferença do multiprocesso Python entre Windows e Linux

Eu tenho um script chamado jobrunner.py que chama métodos de classe em main.py. Ver abaixo..

# jobrunner.py
from multiprocessing import Process
import main
from main import BBOX

def _a(arg):
    f = main.a()
    print f.run()

def _b(arg):
    p = main.b()
    print p.run()

if __name__ == '__main__':
    world = '-180,180,-90,90'
    BBOX.append(world.split(','))

    p1 = Process(target=_a, args=("1",))
    p2 = Process(target=_b, args=("1",))

    p1.start()
    p2.start()

    p1.join()
    p2.join()

Processes _a e _b são invocados sem problemas no OSX e Ubuntu, mas quando tento executar a mesma coisa no Windows (mesma versão do python e tudo), falha ao dizer que o índice está fora do alcance. Isso me leva a acreditar que a variável "global" BBOX não está sendo definida ou passada entre os módulos na plataforma Windows. Alguém já viu algo assim e sabe como consertá-lo?

Adã

ATUALIZAR Eu descobri isso mesmo que possa ser um hack total ... Veja abaix

# jobrunner.py
from multiprocessing import Process
import main
from main import BBOX

def _a(arg):
    BBOX.append(arg) #This is the key
    f = main.a()
    print f.run()

def _b(arg):
    BBOX.append(arg) #This is the key
    p = main.b()
    print p.run()

if __name__ == '__main__':
    world = '-180,180,-90,90'
    BBOX.append(world.split(','))

    p1 = Process(target=_a, args=(BBOX[0],))
    p2 = Process(target=_b, args=(BBOX[0],))

    p1.start()
    p2.start()

    p1.join()
    p2.join()

questionAnswers(1)

yourAnswerToTheQuestion