Ok thanks for your replies. i have made adjustments but still have the same problem. maybe i have the wrong understanding of the logic? so if i could please explain how i think it is working then please tell me what i haven't understood?
while ((digitalRead(RxThro) == LOW)||(failSafe == HIGH))
So what i wanted to do was wait for the input pulse to go high. Or if the pulse doesn't go high then the interrupt will set the failsafe to true and the condition will be met? and the program continue?