I think there can be a situation like:
processA: processB:
0ns: if (!exiting)
1ns: exiting = 1;
2ns: del_timer
3ns: mod_timer
so spinlock seems better for this.