diff options
author | ridiculousfish <corydoras@ridiculousfish.com> | 2012-06-04 14:20:01 -0700 |
---|---|---|
committer | ridiculousfish <corydoras@ridiculousfish.com> | 2012-06-04 14:20:01 -0700 |
commit | 69446be1ee063771f2e0b498a50f9b0787ea70c7 (patch) | |
tree | be5ecf3a473052475218df605d350a204666c750 /parser.h | |
parent | cc90f9cf803bc4aba928b2a80be451d9b717c5f0 (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.h | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -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); |