diff options
author | jkh <jkh@FreeBSD.org> | 1997-04-20 16:46:36 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1997-04-20 16:46:36 +0000 |
commit | e75f3892eaa061e081d04d6d765b2c9991ba1145 (patch) | |
tree | ceda11545f2adcc1638a6d48e3ce39b4024a03a1 /release/sysinstall/main.c | |
parent | 2d072e5f9d207912f63db40b062677c0507dbed5 (diff) | |
download | FreeBSD-src-e75f3892eaa061e081d04d6d765b2c9991ba1145.zip FreeBSD-src-e75f3892eaa061e081d04d6d765b2c9991ba1145.tar.gz |
Sync with 2.2 and clean up some tortured english that was added.
Diffstat (limited to 'release/sysinstall/main.c')
-rw-r--r-- | release/sysinstall/main.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/release/sysinstall/main.c b/release/sysinstall/main.c index 2f1f3a2..c267838 100644 --- a/release/sysinstall/main.c +++ b/release/sysinstall/main.c @@ -4,7 +4,7 @@ * This is probably the last attempt in the `sysinstall' line, the next * generation being slated for what's essentially a complete rewrite. * - * $Id: main.c,v 1.43 1997/02/22 14:11:55 peter Exp $ + * $Id: main.c,v 1.44 1997/03/19 10:09:17 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -42,12 +42,13 @@ static void screech(int sig) { msgDebug("\007Signal %d caught! That's bad!\n", sig); + longjmp(BailOut, sig); } int main(int argc, char **argv) { - int choice, scroll, curr, max; + int choice, scroll, curr, max, status; /* Catch fatal signals and complain about them if running as init */ if (getpid() == 1) { @@ -119,7 +120,17 @@ main(int argc, char **argv) fclose(fp); } } - + + status = setjmp(BailOut); + if (status) { + msgConfirm("A signal %d was caught - I'm saving what I can and shutting\n" + "this thing down! Please report this unfortunate incident\n" + "to jkh@FreeBSD.org. If you can reproduce the problem, please\n" + "also turn Debug on in the Options menu for the extra information\n" + "it provides in debugging problems like this. Thanks!", status); + systemShutdown(status); + } + /* Begin user dialog at outer menu */ dialog_clear(); while (1) { |