While loop condition working backwards

I am using an Arduino Uno. I have a sketch to test how to use an Interrupt Service Routine. The sketch sets up for the interrupt routine and runs a loop to simulate a flashing beacon. I want the interrupt routine to terminate the flashing loop when I cause the interrupt. There is an LED on pin 9 for the flashing beacon and I am using pin 2 for the interrupt. I use a WHILE loop to flash the LED based on whether a Boolean called Reset is HIGH. What I expect is that the loop will run when Reset is HIGH and stop when Reset is LOW, that is that while Reset is high the LED flashes and stops when I make Reset LOW. However, the opposite is what is actually happens. Using the serial monitor I see that Reset is as I expect, HIGH until the interrupt routine sets it LOW. Here's the code followed by the serial monitor from start up of the sketch.

/*
  Simulate a 1950s style beacon
  
 */

int Beacon_LED=9;
int i;
volatile boolean Reset;
int Reset_Button=2;

//  Reset interrupt service routine
void Reset_Routine ()
{
  if (digitalRead(Reset_Button) == LOW)
  Reset = LOW;
  else;
 }
// end of interrupt routine
 
void setup() {

  pinMode(Beacon_LED, OUTPUT);
  pinMode(Reset_Button, INPUT_PULLUP);
  Reset=HIGH;
  attachInterrupt(digitalPinToInterrupt(Reset_Button), Reset_Routine, CHANGE);
  Serial.begin(115200);
  Serial.println(" Started ");

}

void loop() {
  Serial.print("Reset is  ");
  Serial.println(Reset);

 while (Reset == HIGH);
 {
    int x = 1;
   for ( i = 0; i > -1; i = i + x){
      analogWrite(Beacon_LED, i);
      if (i == 255) x = -1;             // switch direction at peak
      delay(3);
   }
} 

   delay(5000);
}

and the serial monitor output - While "Reset is 1" the LED does not flash and only starts to flash when
I cause the interrupt which results in Reset is 0 being displayed also.

Started
Reset is 1
Reset is 0
Reset is 0
.
.
.
and continues until I restart the sketch

Remove ; after while()

while (Reset == HIGH)

I don't see your exit condition, once you enter the while() you will never break out.

arduino_new:
Remove ; after while()

while (Reset == HIGH)

I don’t see your exit condition, once you enter the while() you will never break out.

It’s in the interrupt routine.

And yes, get the semicolon off the end of the while line.