Conversation
|
The SIGINT handlers should ensure that all timers are stopped, child processes are killed, sockets are closed, etc, so that Intern can quit gracefully. Calling The trick is to figure out what socket/timer/etc. is keeping the node process alive and to ensure that gets killed. |
|
From what I've seen, calling The example pasted above shows quite simply that once a SIGINT handler is installed, the default exit handler will not be called. I tested as much on Windows and Mac. Also the node-js documentation states:
This matches quite well with the behaviour I'm seeing. |
|
Calling The root problem is that that some timer isn't being canceled or Promise isn't being resolved when SIGINT occurs, so a process is staying alive. Ideally, we should figure out what isn't being killed and make sure that it is. If that turns out to be impossible, calling |
Fixes #80 .
When installing a custom SIGINT handler, the default handler is removed.
This means that the process's exit() will not be called.
This is demonstrated fairly simply with this program:
Adding
process.exit(1)in the SIGINT handler fixes this.