do-while boolean-logic-funk

Hi, I must be getting too old and cannot get my head around this.

I have a do-while loop and want to escape on either one of two conditions being met. This does not seem to be doing it, do I have this correct? If not, what should it be?

  bool stopNow = false;
  bool allDone = false;
  do {
    //  one or the other will be set "true" here, but never both
  } while (!stopNow || !allDone);

while (!stopNow && !allDone) ;

Or

} while ( !(stopNow || allDone) );

Thanks guys, much appreciated.