Index: /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/Makefile
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/Makefile	(revision 38622)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/Makefile	(revision 38623)
@@ -27,4 +27,5 @@
 $(SRC)/photdbc.$(ARCH).o	   \
 $(SRC)/photdbc_catalogs.$(ARCH).o  \
+$(SRC)/SetSignals.$(ARCH).o 	   \
 $(SRC)/initialize.$(ARCH).o	   \
 $(SRC)/ConfigInit.$(ARCH).o	   \
@@ -39,4 +40,5 @@
 $(SRC)/photdbc_client.$(ARCH).o	   \
 $(SRC)/photdbc_catalogs.$(ARCH).o  \
+$(SRC)/SetSignals.$(ARCH).o 	   \
 $(SRC)/initialize.$(ARCH).o	   \
 $(SRC)/ConfigInit.$(ARCH).o	   \
Index: /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/src/Shutdown_dvodist.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/src/Shutdown_dvodist.c	(revision 38622)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/src/Shutdown_dvodist.c	(revision 38623)
@@ -43,7 +43,4 @@
   va_end (argp);
 
-  // XXX this is in SetSignals.c, which includes photdbc.h
-  SetProtect (TRUE);
-  gfits_db_close (&db);
   fprintf (stderr, "ERROR: dvodist halted\n");
   exit (1);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/src/photdbc.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/src/photdbc.c	(revision 38622)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/src/photdbc.c	(revision 38623)
@@ -7,4 +7,5 @@
 
   /* get configuration info, args, lockfile */
+  SetSignals ();
   initialize (argc, argv);
 
Index: /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/src/photdbc_catalogs.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/src/photdbc_catalogs.c	(revision 38622)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/src/photdbc_catalogs.c	(revision 38623)
@@ -82,6 +82,9 @@
     // get_mags (catalog);
 
-    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);
 
Index: /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/src/photdbc_client.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/src/photdbc_client.c	(revision 38622)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/photdbc/src/photdbc_client.c	(revision 38623)
@@ -3,4 +3,5 @@
 int main (int argc, char **argv) {
 
+  SetSignals ();
   initialize_client (argc, argv);
 
