6696987406845625c252a13b690e0c4d7d9e59fa max Thu Mar 26 06:48:48 2015 -0700 This is a go at libifing the CGI startup code. For all CGIs, we need to call a few basic setup funtions, like UDC config and CGI apoptosis. (For most CGIs also bottleneck). Instead of adding it to all of our 30+ CGIs, I changed the cart*Shell functions. I think most CGIs call at least one of these functions. This commit removes the existing copy/pasted code from a few CGIs and replaces it with one call. Adding this to the cart-setup means that (like before), UDC is setup even for small JSON calls and a process is spawned to watch the CGI and kill it ("Apoptosis"). Any comments on whether this should be implemented differently are appreciated. I have not added bottleneck to this function right now as apparently we're calling bottleneck only from some of our CGIs. diff --git src/hg/hgTracks/pslTrack.c src/hg/hgTracks/pslTrack.c index e94c7f6..0735be8 100644 --- src/hg/hgTracks/pslTrack.c +++ src/hg/hgTracks/pslTrack.c @@ -318,40 +318,30 @@ sr = hRangeQuery(conn, tg->table, chromName, start, end, extraWhere, &rowOffset); } else { safef(extraWhere, sizeof(extraWhere), " "); sr = hRangeQuery(conn, tg->table, chromName, start, end, NULL, &rowOffset); } if (sqlCountColumns(sr) < 21+rowOffset) errAbort("trackDb has incorrect table type for track \"%s\"", tg->track); while ((row = sqlNextRow(sr)) != NULL) { struct psl *psl = pslLoad(row+rowOffset); lf = lfFromPslx(psl, sizeMul, isXeno, nameGetsPos, tg); -#ifndef GBROWSE - /* if this is a GSID track, check if we need to check for inclusion of the item */ - if (hIsGsidServer() && gsidCheckSelected(tg)) - { - if (isSelected(lf->name)) - slAddHead(&lfList, lf); - } - - else -#endif /* GBROWSE */ slAddHead(&lfList, lf); // Don't free psl - may be used by baseColor code (and freeing is slow) } slReverse(&lfList); if (tg->visibility != tvDense) slSort(&lfList, linkedFeaturesCmpStart); if (tg->extraUiData) filterMrna(tg, &lfList); tg->items = lfList; sqlFreeResult(&sr); } static void lfFromPslsInRange(struct track *tg, int start, int end, char *chromName, boolean isXeno, boolean nameGetsPos, int sizeMul) /* Return linked features from range of table. */