Fix initialization logic of GThreadPool if the first created pool is an exclusive one
Previously we would only ever run the initialization code once, but part of it only if a non-exclusive pool was created. This caused the shared state to be inconsistent if the first pool to be created was exclusive and the second non-exclusive.
Fixes #2012 (closed)