DataDog/dd-agent — pull request #702 by conorbranagan (2013-10-24 15:20:05+00:00)
Title: Split Windows agent into multiple processes.

After merging my fix for the Agent memory leak, it looks like the Agent stopped working correctly. The WMI library seemed to have issues with different global imports in separate threads. To fix this, I decided to split the different threads (Collector, Forwarder, DogstatsD) into 3 separate processes using the multiprocessing library.

To get multiprocessing to work correctly I had to patch `py2exe` to support multiprocessing freeze. Since `py2exe` is old and doesn't exit in GitHub, I'll just post a Gist of the diff: https://gist.github.com/conorbranagan/7139091

I was able to build py2exe with the patched code on on our Windows build box and then the process was able to run correctly.