Fixes (hopefully) #3959 by making the solver/solverClose handles into an IORef. This way, we can be (reasonably) sure that when we write the new handles into the IORef, there will be no other references held to the old ones elsewhere, which was previously preventing the old z3 instance from terminating, leaving a zombie process.
Fixes (hopefully) #3959 by making the
solver
/solverClose
handles into anIORef
. This way, we can be (reasonably) sure that when we write the new handles into theIORef
, there will be no other references held to the old ones elsewhere, which was previously preventing the old z3 instance from terminating, leaving a zombie process.