#include "armor.h"
 #include "cleankey.h"
+#include "cleanup.h"
 #include "charfuncs.h"
 #include "getcgi.h"
 #include "keydb.h"
                                        &ctx,
                                        &packets);
                if (packets != NULL) {
-                       printf("Storing %d keys.\n",
-                               parse_keys(packets, &keys));
+                       count = parse_keys(packets, &keys);
+                       logthing(LOGTHING_NOTICE, "Received %d keys.",
+                               count);
+                       printf("Storing %d keys.\n", count);
                        end_html();
                        fclose(stdout);
                        fclose(stderr);
+                       catchsignals();
                        initdb(false);
                        
                        count = cleankeys(keys);
                                        count);
 
                        count = update_keys(&keys);
-                       printf("Got %d new keys.\n", count);
                        logthing(LOGTHING_NOTICE, "Got %d new keys.",
                                count);
                        if (keys != NULL) {