diff --git a/src/daqd/comm.y b/src/daqd/comm.y index bf2af78715d6d4f96328f20b728e6640a03a6bf9..54077c6ade916a65c657b70112ec6ccf5108c13f 100644 --- a/src/daqd/comm.y +++ b/src/daqd/comm.y @@ -2039,7 +2039,7 @@ status_channels_bailout: sem_wait (&daqd.trender.trender_sem); sem_post (&daqd.trender.trender_sem); } - | START TREND OptionalIntnum { + | START TREND OptionalIntnum OptionalIntnum { AUTH_CHECK(((my_lexer *)lexer)); ostream *yyout = ((my_lexer *)lexer)->get_yyout (); @@ -2049,7 +2049,7 @@ status_channels_bailout: else if (! daqd.trender.num_channels) *yyout << "there are no trend channels configured" << endl; else { - if (!daqd.trender.start_trend (yyout, 1, 1, 60, 60, $3)) { + if (!daqd.trender.start_trend (yyout, 1, 1, $3? $3: 60, $4? $4: 60)) { system_log(1, "trender started"); } } diff --git a/src/daqd/trend.cc b/src/daqd/trend.cc index b645edffd05758833ae17e3e768cb8b2157e0009..3c8787e18c8dfa6aa0cc899e6cee5ae1d118664c 100644 --- a/src/daqd/trend.cc +++ b/src/daqd/trend.cc @@ -353,7 +353,7 @@ trender_c::minute_framer () file_gps = file_prop.gps; file_gps_n = file_prop.gps_n; - dir_num = minute_fsd.getDirFileNames (file_gps, _tmpf, tmpf, 1, 3600 ); + dir_num = minute_fsd.getDirFileNames (file_gps, _tmpf, tmpf, 1, frame_length_blocks * 60 ); int fd = creat (_tmpf, 0644); if (fd < 0) { @@ -779,7 +779,7 @@ trender_c::framer () file_gps = file_prop.gps; file_gps_n = file_prop.gps_n; - dir_num = fsd.getDirFileNames (file_gps, _tmpf, tmpf, 1, 60); + dir_num = fsd.getDirFileNames (file_gps, _tmpf, tmpf, 1, frame_length_blocks); int fd = creat (_tmpf, 0644); if (fd < 0) { @@ -1239,7 +1239,7 @@ trender_c::trend_worker () int trender_c::start_trend (ostream *yyout, int pframes_per_file, int pminute_frames_per_file, - int ptrend_buffer_blocks, int pminute_trend_buffer_blocks, int pnum_threads = 1) + int ptrend_buffer_blocks, int pminute_trend_buffer_blocks) { if (this -> tb) { *yyout << "trend is already running" << endl; @@ -1253,7 +1253,6 @@ trender_c::start_trend (ostream *yyout, int pframes_per_file, int pminute_frames minute_frames_per_file = pminute_frames_per_file; trend_buffer_blocks = ptrend_buffer_blocks; minute_trend_buffer_blocks = pminute_trend_buffer_blocks; - num_threads = pnum_threads; // Allocate trend circular buffer { diff --git a/src/daqd/trend.hh b/src/daqd/trend.hh index d338556efbbd6c7251274184a2e472178ad23e23..fdfebc4b7ead7aaaa4f08bcce2eab3d369d43522 100644 --- a/src/daqd/trend.hh +++ b/src/daqd/trend.hh @@ -81,7 +81,7 @@ public: frames_per_file (1), trend_buffer_blocks (60), profile ((char *)"trend"), profile_mt((char *)"mt"), fsd (60), minute_fsd (3600), raw_minute_trend_saving_period (2), - num_threads (1), worker_first_channel (0), + worker_first_channel (0), trend_worker_nb (0), worker_busy (0) { sem_init (&minute_frame_saver_sem, 0, 1); @@ -166,7 +166,7 @@ public: int block_size; // circ buffer data block size (sum of the sizes of the configured channels) - int start_trend (ostream *, int, int, int, int, int); + int start_trend (ostream *, int, int, int, int); sem_t trender_sem; int start_trend_saver (ostream *); int start_minute_trend_saver (ostream *); @@ -197,8 +197,6 @@ public: profile_c profile_mt; // profile on minute trend circular buffer. unsigned int raw_minute_trend_saving_period; - unsigned int num_threads; - // worked thread does processing from this channel until the last one unsigned int worker_first_channel;