Changeset 6674
- Timestamp:
- Mar 24, 2006, 2:42:35 PM (20 years ago)
- Location:
- trunk/Ohana/src
- Files:
-
- 23 edited
-
addstar/Makefile (modified) (4 diffs)
-
addstar/include/addstar.h (modified) (2 diffs)
-
addstar/src/DatasetOps.c (modified) (5 diffs)
-
addstar/src/ListenClients_Thread.c (modified) (1 diff)
-
addstar/src/NewRefcat_Thread.c (modified) (1 diff)
-
addstar/src/NewReflist_Thread.c (modified) (1 diff)
-
addstar/src/addstart.c (modified) (3 diffs)
-
addstar/src/load_pt_catalog.c (modified) (1 diff)
-
addstar/src/match_refstars.c (modified) (1 diff)
-
elixir/src/LogOpen.c (modified) (1 diff)
-
gastro2/src/extr2mass.c (modified) (1 diff)
-
imregister/detrend/altpath.c (modified) (1 diff)
-
imregister/detrend/db_names.c (modified) (2 diffs)
-
imregister/detrend/entry.c (modified) (1 diff)
-
kii/event/InterpretKeys.c (modified) (2 diffs)
-
kii/event/InterpretPresses.c (modified) (2 diffs)
-
kii/include/prototypes.h (modified) (1 diff)
-
kii/picture/Reorient.c (modified) (5 diffs)
-
libdvo/src/dvo_image.c (modified) (1 diff)
-
libdvo/src/skyregion_io.c (modified) (1 diff)
-
libohana/include/ohana.h (modified) (1 diff)
-
libohana/src/findexec.c (modified) (5 diffs)
-
markrock/src/markrock.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/addstar/Makefile
r5899 r6674 87 87 $(SRC)/match_refstars.$(ARCH).o \ 88 88 89 SERVER = \ 89 ADDSTARD = \ 90 $(SRC)/addstard.$(ARCH).o \ 90 91 $(SRC)/SocketOps.$(ARCH).o \ 91 92 $(SRC)/ConfigInit.$(ARCH).o \ … … 130 131 $(SRC)/NewRefcat.$(ARCH).o 131 132 132 CLIENT = \ 133 ADDSTART = \ 134 $(SRC)/addstart.$(ARCH).o \ 135 $(SRC)/DatasetOps.$(ARCH).o \ 136 $(SRC)/SocketOps.$(ARCH).o \ 137 $(SRC)/ConfigInit.$(ARCH).o \ 138 $(SRC)/args_server.$(ARCH).o \ 139 $(SRC)/CheckPassword.$(ARCH).o \ 140 $(SRC)/UpdateDatabase_Image.$(ARCH).o \ 141 $(SRC)/UpdateDatabase_Reflist.$(ARCH).o \ 142 $(SRC)/UpdateDatabase_Refcat.$(ARCH).o \ 143 $(SRC)/airmass.$(ARCH).o \ 144 $(SRC)/build_links.$(ARCH).o \ 145 $(SRC)/calibrate.$(ARCH).o \ 146 $(SRC)/find_matches.$(ARCH).o \ 147 $(SRC)/find_matches_closest.$(ARCH).o \ 148 $(SRC)/find_matches_refstars.$(ARCH).o \ 149 $(SRC)/find_subset.$(ARCH).o \ 150 $(SRC)/get2mass.$(ARCH).o \ 151 $(SRC)/get2mass_as.$(ARCH).o \ 152 $(SRC)/get2mass_dr2.$(ARCH).o \ 153 $(SRC)/getgsc.$(ARCH).o \ 154 $(SRC)/getusno.$(ARCH).o \ 155 $(SRC)/greference.$(ARCH).o \ 156 $(SRC)/gcatalog.$(ARCH).o \ 157 $(SRC)/gimages.$(ARCH).o \ 158 $(SRC)/image-db.$(ARCH).o \ 159 $(SRC)/in_image.$(ARCH).o \ 160 $(SRC)/load_pt_catalog.$(ARCH).o \ 161 $(SRC)/load_subpix.$(ARCH).o \ 162 $(SRC)/mkcatalog.$(ARCH).o \ 163 $(SRC)/replace_match.$(ARCH).o \ 164 $(SRC)/SetSignals.$(ARCH).o \ 165 $(SRC)/SkyRegionUtils.$(ARCH).o \ 166 $(SRC)/SkyListForStars.$(ARCH).o \ 167 $(SRC)/sort_lists.$(ARCH).o \ 168 $(SRC)/update_coords.$(ARCH).o \ 169 $(SRC)/wcatalog.$(ARCH).o \ 170 $(SRC)/Shutdown.$(ARCH).o \ 171 $(SRC)/edge_check.$(ARCH).o \ 172 $(SRC)/check_permissions.$(ARCH).o \ 173 $(SRC)/opening_angle.$(ARCH).o \ 174 $(SRC)/ListenClients_Thread.$(ARCH).o \ 175 $(SRC)/NewImage_Thread.$(ARCH).o \ 176 $(SRC)/NewReflist_Thread.$(ARCH).o \ 177 $(SRC)/NewRefcat_Thread.$(ARCH).o 178 179 ADDSTARC = \ 180 $(SRC)/addstarc.$(ARCH).o \ 133 181 $(SRC)/SocketOps.$(ARCH).o \ 134 182 $(SRC)/ConfigInit.$(ARCH).o \ … … 143 191 $(SRC)/args_client.$(ARCH).o 144 192 145 ADDSTARC = $(SRC)/addstarc.$(ARCH).o $(CLIENT)146 ADDSTARD = $(SRC)/addstard.$(ARCH).o $(SERVER)147 148 193 $(ADDSTARC) : $(INC)/addstar.h 149 194 $(ADDSTARD) : $(INC)/addstar.h 195 $(ADDSTART) : $(INC)/addstar.h 150 196 $(ADDSTAR) : $(INC)/addstar.h 151 197 … … 155 201 addstard : $(BIN)/addstard.$(ARCH) 156 202 $(BIN)/addstard.$(ARCH) : $(ADDSTARD) 203 204 addstart : $(BIN)/addstart.$(ARCH) 205 $(BIN)/addstart.$(ARCH) : $(ADDSTART) 206 @if [ ! -d $(BIN) ]; then mkdir -p $(BIN); fi 207 $(CC) $^ -o $@ $(LFLAGS) -lpthread 157 208 158 209 addstarc : $(BIN)/addstarc.$(ARCH) -
trunk/Ohana/src/addstar/include/addstar.h
r5945 r6674 20 20 fprintf (stderr, "ERROR: photcode %s not found in photcode table\n", NAME); \ 21 21 exit (0); } 22 23 typedef struct { 24 int Nstars; 25 Stars *stars; 26 Image *image; 27 Coords *mosaic; 28 SkyRegion *patch; 29 AddstarClientOptions *options; 30 char *refcat; 31 } DVO_DATA; 22 32 23 33 typedef struct sockaddr_in SockAddress; … … 204 214 int SkyListSetPath (SkyList *list, char *path); 205 215 SkyTable *SkyTableLoadOptimal (); 216 217 int InitDataset (); 218 int PushDataset (DVO_DATA *data); 219 DVO_DATA *PopDataset (void); 220 void *ListenClients_Thread (void *data); 221 int NewImage_Thread (int BindSocket); 222 int NewRefcat_Thread (int BindSocket); 223 int NewReflist_Thread (int BindSocket); -
trunk/Ohana/src/addstar/src/DatasetOps.c
r6498 r6674 1 1 # include "addstar.h" 2 # include <pthread.h> 2 3 3 4 /* the init function is an alternative */ … … 5 6 pthread_mutex_t fastmutex = PTHREAD_MUTEX_INITIALIZER; 6 7 7 static int lock = FALSE;8 8 static int Ndataset = 0; 9 9 static int NDATASET = 0; … … 29 29 int N; 30 30 31 pthread_mutex_lock(& mutex);31 pthread_mutex_lock(&fastmutex); 32 32 33 33 N = Ndataset; 34 34 Ndataset ++; 35 CHECK_REALLOCATE (dataset, DVO_DATA , NDATASET, Ndataset, 100);35 CHECK_REALLOCATE (dataset, DVO_DATA *, NDATASET, Ndataset, 100); 36 36 37 37 dataset[N] = data; 38 38 39 pthread_mutex_unlock(& mutex);39 pthread_mutex_unlock(&fastmutex); 40 40 return (TRUE); 41 41 } … … 44 44 DVO_DATA *PopDataset (void) { 45 45 46 int i; 46 47 DVO_DATA *data; 47 48 48 pthread_mutex_lock(& mutex);49 pthread_mutex_lock(&fastmutex); 49 50 50 51 if (Ndataset == 0) { 51 pthread_mutex_unlock(& mutex);52 pthread_mutex_unlock(&fastmutex); 52 53 return (NULL); 53 54 } … … 61 62 if ((Ndataset < NDATASET / 2) && (Ndataset > 50)) { 62 63 NDATASET = Ndataset / 2; 63 REALLOCATE (dataset, DVO_DATA , NDATASET);64 REALLOCATE (dataset, DVO_DATA *, NDATASET); 64 65 } 65 66 66 pthread_mutex_unlock(& mutex);67 pthread_mutex_unlock(&fastmutex); 67 68 return (data); 68 69 } -
trunk/Ohana/src/addstar/src/ListenClients_Thread.c
r6498 r6674 2 2 3 3 /* wait for incoming messages from clients */ 4 int ListenClients_Thread () {4 void *ListenClients_Thread (void *data) { 5 5 6 6 int status, InitSocket, BindSocket; 7 7 SockAddress Address; 8 8 IOBuffer message; 9 AddstarClientOptions options;10 9 11 10 /* if we have multiple threads, each one creates its own socket? */ -
trunk/Ohana/src/addstar/src/NewRefcat_Thread.c
r6498 r6674 7 7 IOBuffer message; 8 8 SkyRegion *patch; 9 DVO_DATA *dataset; 9 10 10 11 /* accept incoming data set */ -
trunk/Ohana/src/addstar/src/NewReflist_Thread.c
r6498 r6674 6 6 Stars *stars; 7 7 AddstarClientOptions *options; 8 DVO_DATA *dataset; 8 9 9 10 /* accept incoming data set */ -
trunk/Ohana/src/addstar/src/addstart.c
r6498 r6674 1 1 # include "addstar.h" 2 # include <pthread.h> 2 3 3 4 int main (int argc, char **argv) { 4 5 5 int status, InitSocket, BindSocket;6 SockAddress Address;7 IOBuffer message;8 6 AddstarClientOptions options; 7 pthread_t thread; 8 DVO_DATA *dataset; 9 // pthread_attr_t attr; 9 10 10 11 options = ConfigInit (&argc, argv); … … 13 14 /* store the sky table in a global for internal use */ 14 15 ServerSky = SkyTableLoadOptimal (CATDIR, SKY_TABLE, GSCFILE, SKY_DEPTH, VERBOSE); 15 SkyTableSetFilename (ServerSky, CATDIR, "cpt");16 SkyTableSetFilenames (ServerSky, CATDIR, "cpt"); 16 17 17 18 VERBOSE = TRUE; … … 24 25 25 26 /* decide if we need an argument to dbthread */ 26 pthread_create ( thread, attr,ListenClients_Thread, NULL);27 pthread_create (&thread, NULL, &ListenClients_Thread, NULL); 27 28 28 29 while (1) { -
trunk/Ohana/src/addstar/src/load_pt_catalog.c
r5945 r6674 3 3 int load_pt_catalog (Catalog *catalog, SkyRegion *region) { 4 4 5 check_permissions (catalog[0].filename); 5 if (!check_file_access (catalog[0].filename, TRUE, TRUE)) { 6 exit (1); 7 } 8 6 9 if (VERBOSE) fprintf (stderr, "adding to %s\n", catalog[0].filename); 7 10 -
trunk/Ohana/src/addstar/src/match_refstars.c
r3339 r6674 13 13 if (stars[i].found != -1) continue; 14 14 gregion_star (&stars[i], ®ion); 15 check_permissions (region.filename); 15 if (!check_file_access (region.filename, TRUE, TRUE)) { 16 exit (0); 17 } 16 18 make_backup (region.filename); 17 19 -
trunk/Ohana/src/elixir/src/LogOpen.c
r2428 r6674 11 11 if ((f == (FILE *) NULL) && (errno == ENOENT)) { 12 12 path = pathname (filename); 13 if (!mkdirhier (path)) f = fopen (filename, "a"); 13 if (!mkdirhier (path, S_IRWXU | S_IRWXG | S_IRWXO)) { 14 f = fopen (filename, "a"); 15 } 14 16 } 15 17 if (f == (FILE *) NULL) { -
trunk/Ohana/src/gastro2/src/extr2mass.c
r2442 r6674 136 136 137 137 path = pathname (filename); 138 mkdirhier (path );138 mkdirhier (path, S_IRWXU | S_IRWXG | S_IRWXO); 139 139 140 140 fout = fopen (filename, "a+"); -
trunk/Ohana/src/imregister/detrend/altpath.c
r4864 r6674 141 141 if (status == -1) { 142 142 if (errno == ENOENT) { 143 if (mkdirhier (path ) == -1) {143 if (mkdirhier (path, S_IRWXU | S_IRWXG | S_IRWXO) == -1) { 144 144 fprintf (stderr, "ERROR: can't create path %s\n", path); 145 145 return (FALSE); -
trunk/Ohana/src/imregister/detrend/db_names.c
r3606 r6674 25 25 if (output.Modify) { 26 26 if (status == -1) { 27 if (mkdirhier (dBPath ) == -1) {27 if (mkdirhier (dBPath, S_IRWXU | S_IRWXG | S_IRWXO) == -1) { 28 28 fprintf (stderr, "ERROR: can't find or create path %s\n", dBPath); 29 29 exit (1); … … 34 34 status = stat (dBTrash, &statbuf); 35 35 if (status == -1) { 36 if (mkdirhier (dBTrash ) == -1) {36 if (mkdirhier (dBTrash, S_IRWXU | S_IRWXG | S_IRWXO) == -1) { 37 37 fprintf (stderr, "ERROR: detrend dB trash not found %s\n", dBTrash); 38 38 exit (1); -
trunk/Ohana/src/imregister/detrend/entry.c
r3650 r6674 50 50 if (status == -1) { 51 51 if (errno == ENOENT) { 52 if (mkdirhier (fullpath ) == -1) {52 if (mkdirhier (fullpath, S_IRWXU | S_IRWXG | S_IRWXO) == -1) { 53 53 fprintf (stderr, "ERROR: can't create path %s\n", fullpath); 54 54 exit (1); -
trunk/Ohana/src/kii/event/InterpretKeys.c
r2891 r6674 3 3 int InterpretKeys (Graphic *graphic, Layout *layout, XEvent *event) { 4 4 5 double X, Y; 5 6 int status; 6 7 char string[10]; 7 8 KeySym keysym; 8 9 XComposeStatus composestatus; 10 XKeyEvent *keyevent; 9 11 10 XLookupString ((XKeyEvent *)event, string, 9, &keysym, &composestatus); 12 keyevent = (XKeyEvent *) event; 13 XLookupString (keyevent, string, 9, &keysym, &composestatus); 14 11 15 12 16 switch (keysym) { 13 17 14 case XK_Tab: 15 MOVE_POINTER = MOVE_POINTER ^ TRUE; 16 if (MOVE_POINTER) UpdatePointer (graphic, layout, (XMotionEvent *)event); 17 status = TRUE; 18 break; 18 case XK_KP_Enter: 19 case XK_Return: 20 Screen_to_Image (&X, &Y, (double)keyevent[0].x, (double)keyevent[0].y, layout); 21 X = 0.5*layout[0].matrix.Naxis[0] - X; 22 Y = 0.5*layout[0].matrix.Naxis[1] - Y; 23 Reorient (graphic, layout, X, Y, 0); 24 break; 25 case XK_Prior: 26 Reorient (graphic, layout, layout[0].X, layout[0].Y, +1); 27 break; 28 case XK_Next: 29 Reorient (graphic, layout, layout[0].X, layout[0].Y, -1); 30 break; 31 case XK_Up: 32 Reorient (graphic, layout, layout[0].X, layout[0].Y + 50, 0); 33 break; 34 case XK_Down: 35 Reorient (graphic, layout, layout[0].X, layout[0].Y - 50, 0); 36 break; 37 case XK_Left: 38 Reorient (graphic, layout, layout[0].X + 50, layout[0].Y, 0); 39 break; 40 case XK_Right: 41 Reorient (graphic, layout, layout[0].X - 50, layout[0].Y, 0); 42 break; 19 43 20 default: 21 status = TRUE; 44 case XK_Tab: 45 MOVE_POINTER = MOVE_POINTER ^ TRUE; 46 if (MOVE_POINTER) UpdatePointer (graphic, layout, (XMotionEvent *)event); 47 status = TRUE; 48 break; 49 50 default: 51 status = TRUE; 22 52 } 23 53 … … 35 65 this is all old, but a good example for putting in the cursor motion. 36 66 37 break;67 break; 38 68 */ 39 69 -
trunk/Ohana/src/kii/event/InterpretPresses.c
r2466 r6674 10 10 11 11 if ((event[0].type == ButtonPress) && InPicture (event, &layout[0].picture)) { 12 Reorient (graphic, layout, event);12 ReorientOnButton (graphic, layout, event); 13 13 } 14 14 … … 50 50 } 51 51 52 void ReorientOnButton (Graphic *graphic, Layout *layout, XButtonEvent *mouse_event) { 53 54 double X, Y; 55 56 Screen_to_Image (&X, &Y, (double)mouse_event[0].x, (double)mouse_event[0].y, layout); 57 X = 0.5*layout[0].matrix.Naxis[0] - X; 58 Y = 0.5*layout[0].matrix.Naxis[1] - Y; 59 60 switch (mouse_event[0].button) { 61 case 1: 62 Reorient (graphic, layout, X, Y, 0); 63 break; 64 case 2: 65 Reorient (graphic, layout, X, Y, -1); 66 break; 67 case 3: 68 Reorient (graphic, layout, X, Y, +1); 69 break; 70 default: 71 break; 72 } 73 } -
trunk/Ohana/src/kii/include/prototypes.h
r5852 r6674 37 37 void Remap PROTO((Graphic *, Layout *, Matrix *)); 38 38 int NewPicture PROTO((Graphic *, Layout *)); 39 void Reorient PROTO((Graphic *, Layout *, XButtonEvent *)); 39 void Reorient PROTO((Graphic *, Layout *, double, double, int)); 40 void ReorientOnButton PROTO((Graphic *, Layout *, XButtonEvent *)); 40 41 int UpdatePointer PROTO((Graphic *, Layout *, XMotionEvent *)); 41 42 void CrossHairs PROTO((Graphic *, Layout *)); -
trunk/Ohana/src/kii/picture/Reorient.c
r2466 r6674 1 1 # include "Ximage.h" 2 2 3 void Reorient (Graphic *graphic, Layout *layout, XButtonEvent *mouse_event) { 4 5 int x, y, dummy2; 6 double X0, Y0; 7 unsigned int dummy3; 8 Window dummy1; 3 void Reorient (Graphic *graphic, Layout *layout, double X, double Y, int mode) { 9 4 10 5 if (layout[0].expand == 0) 11 6 layout[0].expand = 1; 12 7 13 Screen_to_Image (&X0, &Y0, (double)mouse_event[0].x, (double)mouse_event[0].y, layout); 14 X0 = 0.5*layout[0].matrix.Naxis[0] - X0; 15 Y0 = 0.5*layout[0].matrix.Naxis[1] - Y0; 16 17 switch (mouse_event[0].button) { 18 case 1: 19 if ((layout[0].X != X0) || (layout[0].Y != Y0)) { 20 layout[0].X = X0; 21 layout[0].Y = Y0; 8 switch (mode) { 9 case 0: 10 if ((layout[0].X != X) || (layout[0].Y != Y)) { 11 layout[0].X = X; 12 layout[0].Y = Y; 22 13 } 23 14 break; 24 case 2:15 case -1: 25 16 layout[0].expand--; 26 17 if ((layout[0].expand == 0) || (layout[0].expand == -1)) … … 31 22 return; 32 23 } 33 layout[0].X = X 0;34 layout[0].Y = Y 0;24 layout[0].X = X; 25 layout[0].Y = Y; 35 26 break; 36 case 3:27 case +1: 37 28 layout[0].expand++; 38 29 if ((layout[0].expand == 0) || (layout[0].expand == -1)) … … 43 34 return; 44 35 } 45 layout[0].X = X 0;46 layout[0].Y = Y 0;36 layout[0].X = X; 37 layout[0].Y = Y; 47 38 break; 48 39 } … … 51 42 Refresh (graphic, layout, 0); 52 43 53 # ifndef NOWARP /* the "warp" function seems to be a problem on SUNs for some reason */ 44 XFlush (graphic[0].display); 45 } 46 47 # if (0) /* the "warp" function seems to be a problem on SUNs for some reason */ 54 48 XQueryPointer (graphic[0].display, graphic[0].window, &dummy1, &dummy1, &dummy2, &dummy2, &x, &y, &dummy3); 55 49 if ((x > layout[0].picture.x) && (x < layout[0].picture.x + layout[0].picture.dx) && … … 62 56 # endif 63 57 64 XFlush (graphic[0].display);65 } -
trunk/Ohana/src/libdvo/src/dvo_image.c
r6235 r6674 5 5 6 6 /* lock the image catalog */ 7 _check_permissions (filename);7 if (!check_file_access (filename, FALSE, TRUE)) return (FALSE); 8 8 9 9 db[0].lockstate = lockstate; -
trunk/Ohana/src/libdvo/src/skyregion_io.c
r5956 r6674 89 89 struct stat filestat; 90 90 SkyTable *sky; 91 int status;92 91 93 92 /* first option: CATDIR/SkyTable.fits */ -
trunk/Ohana/src/libohana/include/ohana.h
r5451 r6674 116 116 char *fileextname PROTO((char *file)); 117 117 char *findexec PROTO((int argc, char **argv)); 118 int mkdirhier PROTO((char *path ));118 int mkdirhier PROTO((char *path, int mode)); 119 119 void make_backup PROTO((char *filename)); 120 120 int check_file_access PROTO((char *basefile, int backup, int verbose)); 121 int check_file_exec PROTO((char *filename)); 121 122 122 123 /* in glockfile.c */ -
trunk/Ohana/src/libohana/src/findexec.c
r5451 r6674 1 1 # include <ohana.h> 2 2 3 int _check_permissions(char *filename) {3 int check_file_exec (char *filename) { 4 4 5 5 struct stat filestat; … … 48 48 if (VERBOSE) fprintf (stderr, "directory %s does not exist, creating...\n", path); 49 49 cmode = S_IRWXU | S_IRWXG | S_IRWXO; 50 status = mkdir (path, cmode);50 status = mkdirhier (path, cmode); 51 51 if (status == -1) { 52 52 if (VERBOSE) fprintf (stderr, "can't create %s\n", path); … … 212 212 /* if given an absolute or relative path, use it */ 213 213 if (strchr (argv[0], '/') != (char *) NULL) { 214 status = _check_permissions(argv[0]);214 status = check_file_exec (argv[0]); 215 215 if (status) { 216 216 if (realpath (argv[0], path) == (char *) NULL) return ((char *) NULL); … … 245 245 } 246 246 sprintf (name, "%s/%s", path, argv[0]); 247 status = _check_permissions(name);247 status = check_file_exec (name); 248 248 249 249 if (status) { … … 257 257 } 258 258 259 int mkdirhier (char *path) { 259 /* make directory hierarchy, 0: success, -1: failure (just like mkdir) */ 260 int mkdirhier (char *path, int mode) { 260 261 261 262 char *tpath; 262 263 263 if (mkdir (path, 0777)) { 264 /* force addition of user exec/read/write */ 265 mode |= S_IRWXU; 266 if (mkdir (path, mode)) { 264 267 if (errno == ENOENT) { 265 268 tpath = pathname (path); 266 if (!mkdirhier (tpath )) {267 if (mkdir (path, 0777)) {269 if (!mkdirhier (tpath, mode)) { 270 if (mkdir (path, mode)) { 268 271 return (-1); 269 272 } else { -
trunk/Ohana/src/markrock/src/markrock.c
r2490 r6674 33 33 34 34 /* if lockfile exists, program will complain and quit */ 35 check_permissions (argv[1]);36 check_permissions (RockCat);35 if (!check_file_access (argv[1], TRUE, TRUE)) exit (1); 36 if (!check_file_access (RockCat, TRUE, TRUE)) exit (1); 37 37 38 38 catalog.filename = argv[1];
Note:
See TracChangeset
for help on using the changeset viewer.
