Changeset 3538
- Timestamp:
- Mar 29, 2005, 9:21:03 AM (21 years ago)
- Location:
- trunk/Ohana/src
- Files:
-
- 1 added
- 5 edited
-
imregister/photreg/args.photreg.c (modified) (1 diff)
-
imregister/src/photreg.c (modified) (2 diffs)
-
imregister/src/photsearch.c (modified) (2 diffs)
-
libohana/doc/glockfile.txt (added)
-
libohana/src/fits_db.c (modified) (7 diffs)
-
libohana/src/glockfile.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/imregister/photreg/args.photreg.c
r3536 r3538 137 137 138 138 void usage () { 139 fprintf (stderr, "USAGE: photreg (-zp zp) (-dzp dzp) (-t start date) (-dt dt) (-photcode code)\n");139 fprintf (stderr, "USAGE: photreg (-zp zp) (-dzp dzp) (-trange start range|end) (-photcode code)\n"); 140 140 fprintf (stderr, " [-label label] [-offset] [-Nmeas N] [-Ntime N] [-db trans]\n"); 141 141 exit (1); -
trunk/Ohana/src/imregister/src/photreg.c
r3536 r3538 1 1 # include "imregister.h" 2 2 # include "photreg.h" 3 static char *version = "photreg $Revision: 1. 4$";3 static char *version = "photreg $Revision: 1.5 $"; 4 4 5 5 int main (int argc, char **argv) { … … 17 17 fits_db_init (&db); 18 18 19 if (!strcmp (output.db, "phot")) { 20 filename = PhotDB; 21 } else { 22 filename = TransDB; 23 } 19 filename = PhotDB; 20 if (!strcmp (output.db, "trans")) filename = TransDB; 24 21 25 if (!fits_db_lock (&db, filename)) { 26 fits_db_close (&db); 27 exit (1); 28 } 22 if (!fits_db_lock (&db, filename)) exit (1); 23 29 24 if (db.dbstate == LCK_EMPTY) { 30 25 fits_init_header (&db.header); -
trunk/Ohana/src/imregister/src/photsearch.c
r3536 r3538 1 1 # include "imregister.h" 2 2 # include "photreg.h" 3 static char *version = "photsearch $Revision: 1. 4$";3 static char *version = "photsearch $Revision: 1.5 $"; 4 4 5 5 int main (int argc, char **argv) { … … 25 25 } 26 26 27 if (!fits_db_lock (&db, filename)) { 28 fits_db_close (&db); 29 exit (1); 30 } 27 if (!fits_db_lock (&db, filename)) exit (1); 31 28 32 29 if (!fits_db_load (&db)) { -
trunk/Ohana/src/libohana/src/fits_db.c
r3508 r3538 16 16 /* database name must be set first */ 17 17 if (filename == NULL) { 18 fprintf (stderr, " ERROR:db file is not set\n");18 fprintf (stderr, "db file is not set\n"); 19 19 return (FALSE); 20 20 } … … 22 22 /* database handle must be set first */ 23 23 if (db == NULL) { 24 fprintf (stderr, " ERROR:db handle is not set\n");24 fprintf (stderr, "db handle is not set\n"); 25 25 return (FALSE); 26 26 } … … 29 29 db[0].f = fsetlockfile (filename, db[0].timeout, db[0].lockstate, &db[0].dbstate); 30 30 if (db[0].f == NULL) { 31 fprintf (stderr, " ERROR: cannot set lock on db\n");31 fprintf (stderr, "cannot set lock on db file %s\n", filename); 32 32 return (FALSE); 33 33 } … … 42 42 /* database name must be set first */ 43 43 if (db == NULL) { 44 fprintf (stderr, " ERROR:db handle is not set\n");44 fprintf (stderr, "db handle is not set\n"); 45 45 return (FALSE); 46 46 } … … 48 48 /* init & load in FITS table data - return FALSE on error */ 49 49 if (!fits_fread_header (db[0].f, &db[0].header)) { 50 fprintf (stderr, " ERROR:can't read primary header\n");50 fprintf (stderr, "can't read primary header\n"); 51 51 return (FALSE); 52 52 } 53 53 if (!fits_fread_matrix (db[0].f, &db[0].matrix, &db[0].header)) { 54 fprintf (stderr, " ERROR:can't read primary matrix");54 fprintf (stderr, "can't read primary matrix"); 55 55 return (FALSE); 56 56 } 57 57 if (!fits_fread_header (db[0].f, &db[0].theader)) { 58 fprintf (stderr, " ERROR:can't read table header");58 fprintf (stderr, "can't read table header"); 59 59 return (FALSE); 60 60 } 61 61 if (!fits_fread_ftable_data (db[0].f, &db[0].ftable)) { 62 fprintf (stderr, " ERROR:can't read table data");62 fprintf (stderr, "can't read table data"); 63 63 return (FALSE); 64 64 } … … 74 74 75 75 if (!fits_fwrite_header (db[0].f, &db[0].header)) { 76 fprintf (stderr, " ERROR:can't write primary header");76 fprintf (stderr, "can't write primary header"); 77 77 return (FALSE); 78 78 } 79 79 if (!fits_fwrite_matrix (db[0].f, &db[0].matrix)) { 80 fprintf (stderr, " ERROR:can't write primary matrix");80 fprintf (stderr, "can't write primary matrix"); 81 81 return (FALSE); 82 82 } 83 83 if (!fits_fwrite_Theader (db[0].f, &db[0].theader)) { 84 fprintf (stderr, " ERROR:can't write table header");84 fprintf (stderr, "can't write table header"); 85 85 return (FALSE); 86 86 } 87 87 if (!fits_fwrite_table (db[0].f, &db[0].ftable)) { 88 fprintf (stderr, " ERROR:can't write table data");88 fprintf (stderr, "can't write table data"); 89 89 return (FALSE); 90 90 } … … 103 103 /* do we revert to the old version if this fails? */ 104 104 if (!fits_fwrite_header (db[0].f, &db[0].header)) { 105 fprintf (stderr, " ERROR:can't update primary header");105 fprintf (stderr, "can't update primary header"); 106 106 return (FALSE); 107 107 } 108 108 if (!fits_fwrite_matrix (db[0].f, &db[0].matrix)) { 109 fprintf (stderr, " ERROR:can't update primary matrix");109 fprintf (stderr, "can't update primary matrix"); 110 110 return (FALSE); 111 111 } 112 112 if (!fits_fwrite_Theader (db[0].f, &db[0].theader)) { 113 fprintf (stderr, " ERROR:can't update table header");113 fprintf (stderr, "can't update table header"); 114 114 return (FALSE); 115 115 } 116 116 if (!fits_fwrite_vtable (db[0].f, vtable)) { 117 fprintf (stderr, " ERROR:can't update table data");117 fprintf (stderr, "can't update table data"); 118 118 return (FALSE); 119 119 } -
trunk/Ohana/src/libohana/src/glockfile.c
r3364 r3538 1 1 # include <ohana.h> 2 2 3 /* lockfile concepts: 4 5 set a lockfile on [path]/filename. 6 we allow three types of locks: 7 LCK_HARD - exclusive lock with persistent lock file 8 LCK_XCLD - exclusive lock, no persistent lock file 9 LCK_SOFT - shared lock 10 11 both lock types set a filesystem-level lock on the given file, 12 using exclusive for hard and shared for soft locks 13 14 a hard lock also uses a lockfile to make the lock permanent: 15 the lockfile must be actively removed and will not vanish 16 even if the locking program dies 17 18 a soft lock will vanish if the locking program dies. 19 20 if a hard lock is set, both hard & soft locks will block 21 if a soft lock is set, a hard lock will block, but not a soft lock 22 23 the hard lockfile uses the file [path]/.filename.lck 24 25 setlockfile2 returns a file descriptor to an open READ/WRITE access file, 26 or -1 on failure, and sets state. 27 */ 28 3 /* set a lock on the given file */ 29 4 FILE *fsetlockfile (char *filename, double timeout, int type, int *state) { 30 5 … … 59 34 return (status); 60 35 } 36 37 /* should eventually rewrite these two to use a stream as the basic 38 element and only grab the fileno when needed by fcntl 39 (fileno cannot fail) */ 61 40 62 41 int setlockfile2 (char *filename, double timeout, int type, int *state) { … … 94 73 default: 95 74 fprintf (stderr, "invalid lock type %d\n", type); 75 goto failure; 96 76 } 97 77 … … 121 101 goto failure; 122 102 } 123 usleep (1000 );103 usleep (10000); /* 10 ms is min */ 124 104 125 105 /* try to lock file */
Note:
See TracChangeset
for help on using the changeset viewer.
