- Version: 10.0.0
- Platform: windows
- Subsystem: env
While trying to improve the reliability of cctest in node-chakracore, I noticed that the node::Environment class sets up some libuv handles (e.g. the idle_check_handle_ and immediate_check_handle_) and registers them to be properly closed and cleaned up whenever Environment::FreeEnvironment is called, but that function is never run in a normal node session. The only time that function is invoked is during cctest.
Is this intentional? I ran into this because I was trying to make sure that when a node-chakracore Isolate is destructed it cleans up its own libuv handles, but when I was doing so I keep getting segfaults caused by libuv trying to use some of the Environment handles that had been freed but not cleaned up by libuv.