test pool creation and pool destruction races
What happens if one guy destroys a pool while the other guy is using it? We should give an error code back to the guy trying to use the pool after it is gone. Do we do this correctly, or do we crash?
Also, in general are we keeping pool information updated properly between multiple threads/processes.
Write a test to exercise this case. Fix any issues discovered.