Переменные тайм-ауты в Бойком

Я должен изменить интервал тайм-аута GLIB, в то время как это находится в выполнении. Это возможно? Я смотрел к исходному коду, и это кажется возможным мне, но требуется, используют некоторые непубличные функции от Бойких внутренностей. Я должен повторно реализовать GTimeoutSource или существует способ сделать это?

6
задан Matachana 1 June 2010 в 09:23
поделиться

1 ответ

В вашей функции тайм-аута , вы можете повторно добавить функцию с новым интервалом тайм-аута, а затем вернуть FALSE , чтобы удалить тайм-аут со старым интервалом:

gboolean 
my_timeout_function(gpointer data)
{
    // do stuff
    // ...

    if(need_to_change_interval)
    {
        g_timeout_add(new_interval, (GSourceFunc)my_timeout_function, data);
        return FALSE;
    }
    return TRUE;
}
3
ответ дан 17 December 2019 в 18:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: