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);