PaulS:
What happens if the roll over in the millis() happens when my timer is running?
The same thing that happens when your watch rolls over at noon and midnight. As you can imagine, nothing.
As long as you always use subtraction to determine interval, rather than addition to define "next time".
In that case there are a certain times that potentially can ruin my whole program?
Only if your interval exceeds 49 days.
I dont understand how that can be the case.
What if my current_time gets triggered that millisecend before the millis() rolls over. That would cause my current_time to store a huge number mean while millis() will start from 0. Then it will take some time for that millis() - current_time >= 0. Or have I gotten it all wrong?