• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

taosdata / TDengine / #3796

31 Mar 2025 10:39AM UTC coverage: 30.372% (-7.1%) from 37.443%
#3796

push

travis-ci

happyguoxy
test:add test cases

69287 of 309062 branches covered (22.42%)

Branch coverage included in aggregate %.

118044 of 307720 relevant lines covered (38.36%)

278592.15 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

63.64
/source/libs/stream/src/streamTimer.c
1
/*
2
 * Copyright (c) 2019 TAOS Data, Inc. <jhtao@taosdata.com>
3
 *
4
 * This program is free software: you can use, redistribute, and/or modify
5
 * it under the terms of the GNU Affero General Public License, version 3
6
 * or later ("AGPL"), as published by the Free Software Foundation.
7
 *
8
 * This program is distributed in the hope that it will be useful, but WITHOUT
9
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10
 * FITNESS FOR A PARTICULAR PURPOSE.
11
 *
12
 * You should have received a copy of the GNU Affero General Public License
13
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
14
 */
15

16
#include "streamInt.h"
17
#include "ttimer.h"
18

19
void* streamTimer = NULL;
20

21
int32_t streamTimerInit() {
10✔
22
  streamTimer = taosTmrInit(1000, 100, 10000, "STREAM");
10✔
23
  if (streamTimer == NULL) {
10!
24
    stError("init stream timer failed, code:%s", tstrerror(terrno));
×
25
    return -1;
×
26
  }
27

28
  stInfo("init stream timer, %p", streamTimer);
10!
29
  return 0;
10✔
30
}
31

32
void streamTimerCleanUp() {
9✔
33
  stInfo("cleanup stream timer, %p", streamTimer);
9!
34
  taosTmrCleanUp(streamTimer);
9✔
35
  streamTimer = NULL;
9✔
36
}
9✔
37

38
int32_t streamTimerGetInstance(tmr_h* pTmr) {
101✔
39
  *pTmr = streamTimer;
101✔
40
  return TSDB_CODE_SUCCESS;
101✔
41
}
42

43
void streamTmrStart(TAOS_TMR_CALLBACK fp, int32_t mseconds, void* pParam, void* pHandle, tmr_h* pTmrId, int32_t vgId,
209✔
44
                    const char* pMsg) {
45
  if (*pTmrId == NULL) {
209✔
46
    *pTmrId = taosTmrStart(fp, mseconds, pParam, pHandle);
51✔
47
    if (*pTmrId == NULL) {
51!
48
      stError("vgId:%d start %s tmr failed, code:%s", vgId, pMsg, tstrerror(terrno));
×
49
      return;
×
50
    }
51
  } else {
52
    bool ret = taosTmrReset(fp, mseconds, pParam, pHandle, pTmrId);
158✔
53
    if (ret) {
158✔
54
      stError("vgId:%d start %s tmr failed, code:%s", vgId, pMsg, tstrerror(terrno));
21!
55
      return;
21✔
56
    }
57
  }
58

59
  stTrace("vgId:%d start %s tmr succ", vgId, pMsg);
188!
60
}
61

62
void streamTmrStop(tmr_h tmrId) {
42✔
63
  bool stop = taosTmrStop(tmrId);
42✔
64
  if (stop) {
65
    // todo
66
  }
67
}
42✔
68

69
void streamCleanBeforeQuitTmr(SStreamTmrInfo* pInfo, void* param) {
×
70
  pInfo->activeCounter = 0;
×
71
  pInfo->launchChkptId = 0;
×
72
  atomic_store_8(&pInfo->isActive, 0);
×
73
  streamTaskFreeRefId(param);
×
74
}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc