sorry if glib is a bit out of topic,
I am using g_timeout_add, and wandering what happen if the callback takes a time greater than the interval.
Reading the doc i find:
Note that timeout functions may be delayed, due to the processing of other event sources. Thus they should not be relied on for precise timing. After each call to the timeout function, the time of the next timeout is recalculated based on the current time and the given interval (it does not try to 'catch up' time lost in delays).
Seems that the interval is recalculated, but not clear how. For example what happen if interval is 1 and my function takes 2 ?