提交 ce885f1c authored 作者: Anthony Minessale's avatar Anthony Minessale

fix occasional empty transaction

上级 55ac6d22
...@@ -1670,7 +1670,7 @@ static void *SWITCH_THREAD_FUNC switch_user_sql_thread(switch_thread_t *thread, ...@@ -1670,7 +1670,7 @@ static void *SWITCH_THREAD_FUNC switch_user_sql_thread(switch_thread_t *thread,
while (qm->thread_running == 1) { while (qm->thread_running == 1) {
uint32_t i, lc; uint32_t i, lc;
uint32_t written, iterations = 0; uint32_t written = 0, iterations = 0;
if (sql_manager.paused) { if (sql_manager.paused) {
for (i = 0; i < qm->numq; i++) { for (i = 0; i < qm->numq; i++) {
...@@ -1680,7 +1680,10 @@ static void *SWITCH_THREAD_FUNC switch_user_sql_thread(switch_thread_t *thread, ...@@ -1680,7 +1680,10 @@ static void *SWITCH_THREAD_FUNC switch_user_sql_thread(switch_thread_t *thread,
} }
do { do {
written = do_trans(qm); if (!qm_ttl(qm)) {
goto check;
}
written = do_trans(qm);
iterations += written; iterations += written;
} while(written == qm->max_trans); } while(written == qm->max_trans);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论