有些东西虽然简单,但时间长了 不记录 再用总会多花时间... 记录下
void AlarmFunc(int signo)
{
pthread_mutex_lock(&g_mutexLock);
KALDI_LOG << "the feature of " << g_tempEnrollIvectors.size() << "speaker are written into the file";
for (size_t i = 0; i < g_tempEnrollIvectors.size(); i++)
{
g_ivectorWriter.Write(g_tempEnrollIvectors[i].first, *(g_tempEnrollIvectors[i].second));
}
g_tempEnrollIvectors.clear();
pthread_mutex_unlock(&g_mutexLock);
}
/// set timer 5秒执行一次 AlarmFunc 函数
struct itimerval tick;
signal(SIGALRM, AlarmFunc);
memset(&tick, 0, sizeof(tick));
//Timeout to run first time
tick.it_value.tv_sec = 1;
tick.it_value.tv_usec = 0;
//After first, the Interval time for clock
tick.it_interval.tv_sec = 5;
tick.it_interval.tv_usec = 0;
if (setitimer(ITIMER_REAL, &tick, NULL) < 0)
return "Init fail,Set timer failed!";