Index: /trunk/Ohana/src/delstar/src/delete_imagefile.c
===================================================================
--- /trunk/Ohana/src/delstar/src/delete_imagefile.c	(revision 6236)
+++ /trunk/Ohana/src/delstar/src/delete_imagefile.c	(revision 6237)
@@ -57,5 +57,5 @@
   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist);
   dvo_image_update (db, VERBOSE);
-  unlock_image_db (db);
+  dvo_image_unlock (db);
 
   fprintf (stderr, "SUCCESS\n");
Index: /trunk/Ohana/src/delstar/src/delete_imagename.c
===================================================================
--- /trunk/Ohana/src/delstar/src/delete_imagename.c	(revision 6236)
+++ /trunk/Ohana/src/delstar/src/delete_imagename.c	(revision 6237)
@@ -65,5 +65,5 @@
   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist);
   dvo_image_update (db, VERBOSE);
-  unlock_image_db (db);
+  dvo_image_unlock (db);
 
   fprintf (stderr, "SUCCESS\n");
Index: /trunk/Ohana/src/delstar/src/delete_times.c
===================================================================
--- /trunk/Ohana/src/delstar/src/delete_times.c	(revision 6236)
+++ /trunk/Ohana/src/delstar/src/delete_times.c	(revision 6237)
@@ -79,5 +79,5 @@
   fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, imlist, Nimlist);
   dvo_image_update (db, VERBOSE);
-  unlock_image_db (db);
+  dvo_image_unlock (db);
 
   fprintf (stderr, "SUCCESS\n");
Index: /trunk/Ohana/src/delstar/src/delstar.c
===================================================================
--- /trunk/Ohana/src/delstar/src/delstar.c	(revision 6236)
+++ /trunk/Ohana/src/delstar/src/delstar.c	(revision 6237)
@@ -10,6 +10,10 @@
 
   set_db (&db);
-  lock_image_db (&db, ImageCat);
-  load_image_db (&db);
+  status = dvo_image_lock (&db, ImageCat, 60.0, LCK_XCLD); /* XCLD */
+  if (!status) Shutdown ("ERROR: failure to lock image catalog %s", db[0].filename);
+  if (db[0].dbstate == LCK_EMPTY) Shutdown ("ERROR: No images in catalog %s (1)", db[0].filename);
+
+  status = dvo_image_load (&db, VERBOSE, FALSE);
+  if (!status) Shutdown ("can't read image catalog %s", db[0].filename);
 
   switch (MODE) {
Index: /trunk/Ohana/src/delstar/src/image-db.c
===================================================================
--- /trunk/Ohana/src/delstar/src/image-db.c	(revision 6236)
+++ /trunk/Ohana/src/delstar/src/image-db.c	(revision 6237)
@@ -1,29 +1,3 @@
 # include "delstar.h"
-
-void lock_image_db (FITS_DB *db, char *filename) {
-
-  /* lock the image catalog */
-  check_permissions (filename);
-
-  db[0].lockstate = LCK_XCLD;
-  db[0].timeout   = 3600.0;
-  fits_db_init (db);
-
-  if (!fits_db_lock (db, filename)) {
-    fprintf (stderr, "ERROR: can't lock image catalog\n");
-    exit (1);
-  }
-}
-
-void unlock_image_db (FITS_DB *db) {
-
-  mode_t mode;
-
-  fits_db_close (db);
-
-  /* force permissions to 666 */
-  mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
-  chmod (db[0].filename, mode);
-}
 
 int load_image_db (FITS_DB *db) {
Index: /trunk/Ohana/src/relphot/src/image-db.c
===================================================================
--- /trunk/Ohana/src/relphot/src/image-db.c	(revision 6236)
+++ /trunk/Ohana/src/relphot/src/image-db.c	(revision 6237)
@@ -1,27 +1,2 @@
 # include "relphot.h"
 
-void lock_image_db (FITS_DB *db, char *filename) {
-
-  /* lock the image catalog */
-  check_permissions (filename);
-
-  db[0].lockstate = LCK_XCLD;
-  db[0].timeout   = 3600.0;
-  fits_db_init (db);
-
-  if (!fits_db_lock (db, filename)) {
-    fprintf (stderr, "ERROR: can't lock image catalog\n");
-    exit (1);
-  }
-}
-
-void unlock_image_db (FITS_DB *db) {
-
-  mode_t mode;
-
-  fits_db_close (db);
-
-  /* force permissions to 666 */
-  mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
-  chmod (db[0].filename, mode);
-}
Index: /trunk/Ohana/src/relphot/src/load_images.c
===================================================================
--- /trunk/Ohana/src/relphot/src/load_images.c	(revision 6236)
+++ /trunk/Ohana/src/relphot/src/load_images.c	(revision 6237)
@@ -8,6 +8,4 @@
   int       *Line;
   int        Nimage;
-
-  if (db[0].dbstate == LCK_EMPTY) Shutdown ("ERROR: No images in catalog %s (1)", db[0].filename);
 
   /* read entire db table */
Index: /trunk/Ohana/src/relphot/src/relphot.c
===================================================================
--- /trunk/Ohana/src/relphot/src/relphot.c	(revision 6236)
+++ /trunk/Ohana/src/relphot/src/relphot.c	(revision 6237)
@@ -4,5 +4,5 @@
 int main (int argc, char **argv) {
 
-  int i, Ncatalog;
+  int i, status, Ncatalog;
   Catalog *catalog;
   GSCRegion fullregion, *region;
@@ -13,5 +13,8 @@
 
   set_db (&db);
-  lock_image_db (&db, ImageCat);
+  status = dvo_image_lock (&db, ImageCat, 60.0, (UPDATE ? LCK_XCLD : LCK_SOFT));
+  if (!status) Shutdown ("ERROR: failure to lock image catalog %s", db.filename);
+  if (db.dbstate == LCK_EMPTY) Shutdown ("ERROR: No images in catalog %s (1)", db.filename);
+  if (!UPDATE) dvo_image_unlock (&db); 
 
   /* load regions and images based on seed region */
@@ -86,5 +89,5 @@
   setMcalFinal ();
   dvo_image_update (&db, VERBOSE);
-  unlock_image_db (&db); 
+  dvo_image_unlock (&db); 
 
   exit (0);
