What does a while(!digitalRead(xxx))

Hello, i'm trying to understand a code, it is inside an interruption and it has this structure:

while(!digitalRead(buttonPin)) 
{
something happens
}

Thank you!

You're on a loop doing something while waiting for the value on the pin to go HIGH.

Note that it is very bad to do this inside an interrupt service routine because other interrupts are inhibited when this happens so things like the millis timer and serial input will be screwed.