6f949e90b1ba3de976455fbcf9da21897761d134 markd Fri Oct 29 16:11:58 2021 -0700 add timeout option to pipeline to allow kill long-running pipelines, especially ones run from CGIs diff --git src/hg/makeDb/hgLoadMafFrames/hgLoadMafFrames.c src/hg/makeDb/hgLoadMafFrames/hgLoadMafFrames.c index 9ecc8ea..7892c06 100644 --- src/hg/makeDb/hgLoadMafFrames/hgLoadMafFrames.c +++ src/hg/makeDb/hgLoadMafFrames/hgLoadMafFrames.c @@ -26,31 +26,31 @@ while (lineFileNextRowTab(inLf, row, MAFFRAMES_NUM_COLS)) { mafFramesStaticLoad(row, &mf); fprintf(sortFh, "%d\t", binFromRange(mf.chromStart, mf.chromEnd)); mafFramesTabOut(&mf, sortFh); } lineFileClose(&inLf); } void processFrameFiles(char *tabFile, int numFramesFiles, char **framesFiles) /* combine and sort input files, adding bin column and write top tabFile */ { /* sort by chrom location, accounting for bin column */ static char *cmd[] = {"sort", "-k", "2,2", "-k", "3,3n", NULL}; int i; -struct pipeline *pl = pipelineOpen1(cmd, pipelineWrite, tabFile, NULL); +struct pipeline *pl = pipelineOpen1(cmd, pipelineWrite, tabFile, NULL, 0); FILE *sortFh = pipelineFile(pl); for (i = 0; i < numFramesFiles; i++) processFrameFile(sortFh, framesFiles[i]); pipelineWait(pl); } void hgLoadMafFrames(char *db, char *table, int numFramesFiles, char **framesFiles) /* load an mafFrames table */ { char tabFile[PATH_LEN], *createSql; struct sqlConnection *conn; safef(tabFile, sizeof(tabFile), "%s.tab", table); processFrameFiles(tabFile, numFramesFiles, framesFiles);