tomlkit icon indicating copy to clipboard operation
tomlkit copied to clipboard

Bug in Windows with multiprocessing

Open kawing-chiu opened this issue 6 years ago • 0 comments

Hi. I ran into an issue when using tomlkit on windows with multiprocessing.

import multiprocessing as mp
import tomlkit


class Worker: 
    def run(self): 
        print(self.db_conf) 
        print(self.db_conf['path'])
        # bug here, get() returns None
        print(self.db_conf.get('path')) 

if __name__ == '__main__':
    w = Worker()
    conf = tomlkit.loads("""
    [db]
    path = '~/files/'
    """)
    w.db_conf = conf['db']
    p = mp.Process(target=w.run)
    p.start()
    p.join()

The output is:

{'path': '~/files/'}
~/files/
None

Somehow Container.get() lost track of the values after pickling into another process. On Linux this script works fine.

kawing-chiu avatar Nov 28 '18 11:11 kawing-chiu