lix/src/libexpr
Eelco Dolstra 447089a5f6 * Catch SIGINT to terminate cleanly when the user tries to interrupt
Nix.  This is to prevent Berkeley DB from becoming wedged.

  Unfortunately it is not possible to throw C++ exceptions from a
  signal handler.  In fact, you can't do much of anything except
  change variables of type `volatile sig_atomic_t'.  So we set an
  interrupt flag in the signal handler and check it at various
  strategic locations in the code (by calling checkInterrupt()).
  Since this is unlikely to cover all cases (e.g., (semi-)infinite
  loops), sometimes SIGTERM may now be required to kill Nix.
2004-01-15 20:23:55 +00:00
..
eval.cc * Catch SIGINT to terminate cleanly when the user tries to interrupt 2004-01-15 20:23:55 +00:00
eval.hh * Refactoring: put the Nix expression evaluator in its own library so 2003-11-19 11:35:41 +00:00
Makefile.am * More `make dist' fixes. 2003-11-25 13:01:21 +00:00
nix.sdf * Maintain integrity of the substitute and successor mappings when 2003-11-22 18:45:56 +00:00
nixexpr.cc * Catch SIGINT to terminate cleanly when the user tries to interrupt 2004-01-15 20:23:55 +00:00
nixexpr.hh * Refactoring: put the Nix expression evaluator in its own library so 2003-11-19 11:35:41 +00:00
parser.cc * Catch SIGINT to terminate cleanly when the user tries to interrupt 2004-01-15 20:23:55 +00:00
parser.hh * Maintain integrity of the substitute and successor mappings when 2003-11-22 18:45:56 +00:00
primops.cc * Allow integer bindings in derivations. 2003-11-25 12:05:48 +00:00
primops.hh * Refactoring: put the Nix expression evaluator in its own library so 2003-11-19 11:35:41 +00:00