summaryrefslogtreecommitdiff
path: root/src/node_internals.h
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2016-05-08 03:28:47 +0200
committerAnna Henningsen <anna@addaleax.net>2016-06-18 20:44:16 +0200
commit0815b9401d087202cd64458b6906a5225929fc5d (patch)
tree78fb84a7b6887091cd392e5d9feff11bae6edf96 /src/node_internals.h
parentde9a84186e6da9e4e6ee9434aa89715bf3eb9172 (diff)
downloadnode-new-0815b9401d087202cd64458b6906a5225929fc5d.tar.gz
vm: add ability to break on sigint/ctrl+c
- Adds the `breakEvalOnSigint` option to `vm.runIn(This)Context`. This uses a watchdog thread to wait for SIGINT and generally works just like the existing `timeout` option. - Adds a method to the existing timer-based watchdog to check if it stopped regularly or by running into the timeout. This is used to tell a SIGINT abort from a timer-based one. - Adds (internal) `process._{start,stop}SigintWatchdog` methods to start/stop the watchdog thread used by the above option manually. This will be used in the REPL to set up SIGINT handling before entering terminal raw mode, so that there is no time window in which Ctrl+C fully aborts the process. PR-URL: https://github.com/nodejs/node/pull/6635 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'src/node_internals.h')
-rw-r--r--src/node_internals.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/node_internals.h b/src/node_internals.h
index 0865d71a9b..b92c19734f 100644
--- a/src/node_internals.h
+++ b/src/node_internals.h
@@ -92,6 +92,13 @@ void GetSockOrPeerName(const v8::FunctionCallbackInfo<v8::Value>& args) {
args.GetReturnValue().Set(err);
}
+void SignalExit(int signo);
+#ifdef __POSIX__
+void RegisterSignalHandler(int signal,
+ void (*handler)(int signal),
+ bool reset_handler = false);
+#endif
+
#ifdef _WIN32
// emulate snprintf() on windows, _snprintf() doesn't zero-terminate the buffer
// on overflow...