Code:
volatile int duration;
Ohne den Rest wirklich nachvollzogen zu haben, solltest du das dringend probieren