Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/UpdateDatabase_Image.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/UpdateDatabase_Image.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/UpdateDatabase_Image.c	(revision 38618)
@@ -79,7 +79,8 @@
 	dvo_catalog_save (&catalog, VERBOSE);
       }
-      SetProtect (FALSE);
     }
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
   }
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/UpdateDatabase_Refcat.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/UpdateDatabase_Refcat.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/UpdateDatabase_Refcat.c	(revision 38618)
@@ -69,7 +69,8 @@
 	dvo_catalog_save (&catalog, VERBOSE);
       }
-      SetProtect (FALSE);
     }
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
     free (stars);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/UpdateDatabase_Reflist.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/UpdateDatabase_Reflist.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/UpdateDatabase_Reflist.c	(revision 38618)
@@ -65,7 +65,8 @@
 	dvo_catalog_save (&catalog, VERBOSE);
       }
-      SetProtect (FALSE);
     }
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
   }
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstar.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstar.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstar.c	(revision 38618)
@@ -179,7 +179,7 @@
 	dvo_catalog_save (&catalog, VERBOSE);
       }
-      SetProtect (FALSE);
     }
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
     if (VERBOSE) MARKTIME ("save cpt: %f sec\n", dtime); RESETTIME; 
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstar_client.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstar_client.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstar_client.c	(revision 38618)
@@ -13,4 +13,5 @@
 
   // get configuration info, args, lockfile (set CATDIR, HOST_ID, HOSTDIR, etc) 
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_parallel_client (argc, argv, options);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstarc.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstarc.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstarc.c	(revision 38618)
@@ -11,4 +11,5 @@
 
   /* load config and options */
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_client (argc, argv, options);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstard.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstard.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstard.c	(revision 38618)
@@ -8,4 +8,5 @@
   AddstarClientOptions options;
 
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   args_server (argc, argv);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstart.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstart.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/addstart.c	(revision 38618)
@@ -8,4 +8,5 @@
   DVO_DATA *dataset;
 
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   args_server (argc, argv);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/load2mass.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/load2mass.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/load2mass.c	(revision 38618)
@@ -12,4 +12,5 @@
 
   // need to construct these options with args_load2mass...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_load2mass (argc, argv, options);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/load2mass_as_rawdata.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/load2mass_as_rawdata.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/load2mass_as_rawdata.c	(revision 38618)
@@ -200,6 +200,8 @@
 	find_matches_refstars (skylist[0].regions[0], newcat, &catalog, options);
 
-	dvo_catalog_save (&catalog, VERBOSE);
-	dvo_catalog_unlock (&catalog);
+	SetProtect (TRUE);
+	if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+	if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+	SetProtect (FALSE);
 	dvo_catalog_free (&catalog);
       }
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadICRF.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadICRF.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadICRF.c	(revision 38618)
@@ -16,4 +16,5 @@
   AddstarClientOptions options;
 
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadICRF (&argc, argv, options); // XXX fix args after rest is done
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadICRF_catalog.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadICRF_catalog.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadICRF_catalog.c	(revision 38618)
@@ -22,6 +22,9 @@
   find_matches_ICRF (region, stars, Nstars, &catalog, options);
     
-  dvo_catalog_save (&catalog, VERBOSE);
-  dvo_catalog_unlock (&catalog);
+  SetProtect (TRUE);
+  if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+  if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+  SetProtect (FALSE);
+
   dvo_catalog_free (&catalog);
 
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadICRF_client.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadICRF_client.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadICRF_client.c	(revision 38618)
@@ -7,4 +7,5 @@
 
   // need to construct these options with args_loadICRF...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadICRF_client (&argc, argv, options);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadgalphot.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadgalphot.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadgalphot.c	(revision 38618)
@@ -13,4 +13,5 @@
 
   // need to construct these options with args_loadgalphot...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadgalphot (argc, argv, options);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadgalphot_catalog.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadgalphot_catalog.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadgalphot_catalog.c	(revision 38618)
@@ -22,6 +22,9 @@
   find_matches_galphot (region, stars, Nstars, &catalog, options);
     
-  dvo_catalog_save (&catalog, VERBOSE);
-  dvo_catalog_unlock (&catalog);
+  SetProtect (TRUE);
+  if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+  if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+  SetProtect (FALSE);
+
   dvo_catalog_free (&catalog);
 
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadstarpar.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadstarpar.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadstarpar.c	(revision 38618)
@@ -17,4 +17,5 @@
 
   // need to construct these options with args_loadstarpar...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadstarpar (argc, argv, options);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadstarpar_catalog.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadstarpar_catalog.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadstarpar_catalog.c	(revision 38618)
@@ -22,6 +22,9 @@
   find_matches_starpar (region, stars, Nstars, &catalog, options);
     
-  dvo_catalog_save (&catalog, VERBOSE);
-  dvo_catalog_unlock (&catalog);
+  SetProtect (TRUE);
+  if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+  if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+  SetProtect (FALSE);
+  
   dvo_catalog_free (&catalog);
 
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadstarpar_client.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadstarpar_client.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadstarpar_client.c	(revision 38618)
@@ -7,4 +7,5 @@
 
   // need to construct these options with args_loadstarpar...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadstarpar_client (argc, argv, options);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadsupercos.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadsupercos.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadsupercos.c	(revision 38618)
@@ -19,4 +19,5 @@
 
   // need to construct these options with args_loadWISE...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadsupercos (&argc, argv, options);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadsupercos_rawdata.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadsupercos_rawdata.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadsupercos_rawdata.c	(revision 38618)
@@ -133,6 +133,9 @@
       find_matches_refstars (skylist[0].regions[0], newcat, &catalog, options);
 
-      dvo_catalog_save (&catalog, VERBOSE);
-      dvo_catalog_unlock (&catalog);
+      SetProtect (TRUE);
+      if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+      if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+      SetProtect (FALSE);
+
       dvo_catalog_free (&catalog);
     }
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadtycho.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadtycho.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadtycho.c	(revision 38618)
@@ -20,4 +20,5 @@
 
   // need to construct these options with args_loadtycho...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadtycho (&argc, argv, options);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadtycho_rawdata.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadtycho_rawdata.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadtycho_rawdata.c	(revision 38618)
@@ -159,6 +159,9 @@
       find_matches_closest_refstars(region, newcat, &catalog, options);
 
-      dvo_catalog_save (&catalog, verbose);
-      dvo_catalog_unlock (&catalog);
+      SetProtect (TRUE);
+      if (!dvo_catalog_save (&catalog, verbose)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+      if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+      SetProtect (FALSE);
+
       dvo_catalog_free (&catalog);
 
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadwise.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadwise.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadwise.c	(revision 38618)
@@ -20,4 +20,5 @@
 
   // need to construct these options with args_loadWISE...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_loadwise (argc, argv, options);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadwise_prelim_rawdata.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadwise_prelim_rawdata.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadwise_prelim_rawdata.c	(revision 38618)
@@ -202,6 +202,9 @@
 	// loadWISE_catalog (&catalog, stars, Nstars);
 
-	dvo_catalog_save (&catalog, VERBOSE);
-	dvo_catalog_unlock (&catalog);
+	SetProtect (TRUE);
+	if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+	if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+	SetProtect (FALSE);
+
 	dvo_catalog_free (&catalog);
 	// free (catalog.filename);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadwise_rawdata.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadwise_rawdata.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/loadwise_rawdata.c	(revision 38618)
@@ -213,6 +213,8 @@
 	find_matches_refstars (skylist[0].regions[0], newcat, &catalog, options);
 
-	dvo_catalog_save (&catalog, VERBOSE);
-	dvo_catalog_unlock (&catalog);
+	SetProtect (TRUE);
+	if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+	if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+	SetProtect (FALSE);
 	dvo_catalog_free (&catalog);
       }
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/resort_threaded.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/resort_threaded.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/resort_threaded.c	(revision 38618)
@@ -86,7 +86,8 @@
     // write out catalog, if appropriate
     SetProtect (TRUE);
-    dvo_catalog_save (&catalog, VERBOSE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
     SetProtect (FALSE);
-    dvo_catalog_unlock (&catalog);
+
     dvo_catalog_free (&catalog);
     threadData->state = TS_DONE;
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/resort_unthreaded.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/resort_unthreaded.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/resort_unthreaded.c	(revision 38618)
@@ -57,7 +57,8 @@
     // write out catalog, if appropriate
     SetProtect (TRUE);
-    dvo_catalog_save (&catalog, VERBOSE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
     SetProtect (FALSE);
-    dvo_catalog_unlock (&catalog);
+
     dvo_catalog_free (&catalog);
   }
Index: /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/sedstar.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/sedstar.c	(revision 38617)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/addstar/src/sedstar.c	(revision 38618)
@@ -12,4 +12,5 @@
 
   // need to construct these options with args_load2mass...
+  SetSignals ();
   options = ConfigInit (&argc, argv);
   options = args_sedstar (argc, argv, options);
@@ -64,6 +65,8 @@
     SEDfitCatalog (&outcatalog, &incatalog, sedtable);
     
-    dvo_catalog_save (&outcatalog, VERBOSE);
-    dvo_catalog_unlock (&outcatalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&outcatalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", outcatalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&outcatalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", outcatalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&outcatalog);
 
