aboutsummaryrefslogtreecommitdiffhomepage
path: root/parser.h
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-06-04 14:20:01 -0700
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-06-04 14:20:01 -0700
commit69446be1ee063771f2e0b498a50f9b0787ea70c7 (patch)
treebe5ecf3a473052475218df605d350a204666c750 /parser.h
parentcc90f9cf803bc4aba928b2a80be451d9b717c5f0 (diff)
Signal handling cleanup and improved safety
Fixes issue where you couldn't control-C out of a loop (https://github.com/ridiculousfish/fishfish/issues/13) Also stops doing memory allocation in the signal handler (oops) https://github.com/ridiculousfish/fishfish/issues/27
Diffstat (limited to 'parser.h')
-rw-r--r--parser.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/parser.h b/parser.h
index ca97fc73..8ff8b306 100644
--- a/parser.h
+++ b/parser.h
@@ -332,6 +332,11 @@ class parser_t {
/** Get the "principal" parser, whatever that is */
static parser_t &principal_parser();
+ /** Indicates that execution of all blocks in the principal parser should stop.
+ This is called from signal handlers!
+ */
+ static void skip_all_blocks();
+
/** Create a parser of the given type */
parser_t(enum parser_type_t type, bool show_errors);