cross fingers as this is a botched cherry-pick merge that can't be tested until the 2nd part of the cherry-pick is done
issue #430 final merge from multiprocessing branch + typical merge + git nightmare.