612baf5a4599ab93d0f430c538e9fb16bc3c8d3d braney Mon Jun 24 13:51:05 2019 -0700 move trackDbCache stuff to its own file. Remove dependencies on /dev/shm being the cache location. diff --git src/hg/lib/hubConnect.c src/hg/lib/hubConnect.c index cbac65e..9a752d5 100644 --- src/hg/lib/hubConnect.c +++ src/hg/lib/hubConnect.c @@ -707,58 +707,55 @@ hDisconnectCentral(&conn); } struct trackDb *hubAddTracks(struct hubConnectStatus *hub, char *database) /* Load up stuff from data hub and return list. */ { /* Load trackDb.ra file and make it into proper trackDb tree */ struct trackDb *tdbList = NULL; struct trackHub *trackHub = hub->trackHub; if (trackHub != NULL) { struct trackHubGenome *hubGenome = trackHubFindGenome(trackHub, database); if (hubGenome != NULL) { - char *trackDbCacheDir = cfgOption("cacheTrackDbDir"); - boolean doCache = FALSE; - if (trackDbCacheDir != NULL) - doCache = TRUE; + boolean doCache = trackDbCacheOn(); if (doCache) { // we have to open the trackDb file to get the udc cache to check for an update struct udcFile *checkCache = udcFileMayOpen(hubGenome->trackDbFile, NULL); time_t time = udcUpdateTime(checkCache); udcFileClose(&checkCache); - struct trackDb *cacheTdb = trackDbHubCache(hubGenome->trackDbFile, time, trackDbCacheDir); + struct trackDb *cacheTdb = trackDbHubCache(hubGenome->trackDbFile, time); if (cacheTdb != NULL) return cacheTdb; memCheckPoint(); // we want to know how much memory is used to build the tdbList } tdbList = trackHubTracksForGenome(trackHub, hubGenome); tdbList = trackDbLinkUpGenerations(tdbList); tdbList = trackDbPolishAfterLinkup(tdbList, database); trackDbPrioritizeContainerItems(tdbList); trackHubPolishTrackNames(trackHub, tdbList); if (doCache) - trackDbHubCloneTdbListToSharedMem(hubGenome->trackDbFile, tdbList, memCheckPoint(), trackDbCacheDir); + trackDbHubCloneTdbListToSharedMem(hubGenome->trackDbFile, tdbList, memCheckPoint()); } } return tdbList; } static struct grp *grpFromHub(struct hubConnectStatus *hub) /* Make up a grp structur from hub */ { struct grp *grp; AllocVar(grp); char name[16]; safef(name, sizeof(name), "hub_%d", hub->id); grp->name = cloneString(name); grp->label = cloneString(hub->trackHub->shortLabel); return grp;