From 7c4223ee1310216b5abf22e9662bed33ef7083b9 Mon Sep 17 00:00:00 2001 From: mar Date: Mon, 26 Sep 1988 14:05:10 +0000 Subject: [PATCH] changed exit/cleanup code, interrupt handler, & added tblstat modtime setting --- dbck/dbck.qc | 45 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/dbck/dbck.qc b/dbck/dbck.qc index 4728253e..407e1cdd 100644 --- a/dbck/dbck.qc +++ b/dbck/dbck.qc @@ -14,12 +14,16 @@ #include "dbck.h" +static char dbck_qc_rcsid[] = "$Header$"; + + int debug = 1; int mode = MODE_ASK; int fast = 0; struct hash *users, *machines, *clusters, *lists, *filesys, *nfsphys, *strings; ##int dcmenable; -int cleanup(); +struct save_queue *modtables; +int interrupt(); main(argc, argv) @@ -74,9 +78,10 @@ char **argv; if (debug) printf("Debug level is %d\n", debug); - signal(SIGHUP, cleanup); - signal(SIGQUIT, cleanup); - signal(SIGINT, cleanup); + signal(SIGHUP, interrupt); + signal(SIGQUIT, interrupt); + signal(SIGINT, interrupt); + modtables = sq_create(); IIseterr(ingerr); printf("Opening database %s...", database); @@ -94,15 +99,13 @@ char **argv; phase2(); phase3(); } else { - printf("Skipping to counts\n"); count_only_setup(); } phase4(); ## end transaction -## replace values (value = dcmenable) where values.name = "dcm_enable" + cleanup(); printf("Done.\n"); -## exit exit(0); } @@ -116,11 +119,35 @@ int *num; } -int cleanup() +int interrupt() ##{ - printf("Signal caught, aborting transaction\n"); + printf("Signal caught\n"); + if (prompt("Save database changes")) { +## end transaction + cleanup(); + exit(0); + } + printf("Aborting transaction\n"); ## abort ## replace values (value = dcmenable) where values.name = "dcm_enable" ## exit exit(0); ##} + + +modified(table) +char *table; +{ + sq_save_unique_string(modtables, table); +} + +cleanup() +##{ +## char *tab; + + while (sq_get_data(modtables, &tab)) { +## replace tblstats (modtime = "now") where tblstats.table = tab + } +## replace values (value = dcmenable) where values.name = "dcm_enable" +## exit +##} -- 2.45.2