Index: /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/Shutdown.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/Shutdown.c	(revision 38619)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/Shutdown.c	(revision 38620)
@@ -21,6 +21,4 @@
   va_end (argp);
 
-  SetProtect (TRUE);
-  gfits_db_close (db);
   fprintf (stderr, "ERROR: relastro halted\n");
   exit (1);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/high_speed_objects.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/high_speed_objects.c	(revision 38619)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/high_speed_objects.c	(revision 38620)
@@ -270,6 +270,10 @@
 
   fprintf (stderr, "found %d matches\n", Nmatch);
-  dvo_catalog_save (&catalogOut, VERBOSE2);
-  dvo_catalog_unlock (&catalogOut);
+
+  SetProtect (TRUE);
+  if (!dvo_catalog_save (&catalogOut, VERBOSE2)) { fprintf (stderr, "ERROR: failed to save %s\n", catalogOut.filename); exit (1); }
+  if (!dvo_catalog_unlock (&catalogOut)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalogOut.filename); exit (1); }
+  SetProtect (FALSE);
+
   dvo_catalog_free (&catalogOut);
   free (slowMoving);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/hpm_objects.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/hpm_objects.c	(revision 38619)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/hpm_objects.c	(revision 38620)
@@ -110,6 +110,10 @@
   if (catalog[0].Naverage == Nslow) {
     fprintf (stderr, "no possible fast objects, skipping this catalog\n");
-    dvo_catalog_save (&catalogOut, VERBOSE2);
-    dvo_catalog_unlock (&catalogOut);
+
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalogOut, VERBOSE2)) { fprintf (stderr, "ERROR: failed to save %s\n", catalogOut.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalogOut)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalogOut.filename); exit (1); }
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalogOut);
     free (slowMoving);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/relastro.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/relastro.c	(revision 38619)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/relastro.c	(revision 38620)
@@ -4,4 +4,5 @@
 
   /* get configuration info, args */
+  SetSignals ();
   initialize (argc, argv);
 
Index: /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/relastro_client.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/relastro_client.c	(revision 38619)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/relastro_client.c	(revision 38620)
@@ -22,4 +22,5 @@
 
   // get configuration info, args, lockfile (set CATDIR, HOST_ID, HOSTDIR, etc) 
+  SetSignals ();
   initialize_client (argc, argv);
 
Index: /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/relastro_merge_source.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/relastro_merge_source.c	(revision 38619)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/relastro_merge_source.c	(revision 38620)
@@ -122,6 +122,8 @@
     resort_catalog (&catalog_src);
 
-    dvo_catalog_save (&catalog_src, VERBOSE2);
-    dvo_catalog_unlock (&catalog_src);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog_src, VERBOSE2)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog_src.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog_src)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog_src.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog_src);
 
Index: /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/save_catalogs.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/save_catalogs.c	(revision 38619)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/relastro/src/save_catalogs.c	(revision 38620)
@@ -9,6 +9,8 @@
 
     if (VERBOSE2) fprintf (stderr, "saving catalog %s\n", catalog[i].filename);
-    dvo_catalog_save (&catalog[i], VERBOSE2); 
-    dvo_catalog_unlock (&catalog[i]);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog[i], VERBOSE2)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog[i].filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog[i])) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog[i].filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog[i]);
   }
