Hacker News new | ask | show | jobs
by blktiger 2503 days ago
So use a do-while instead.
1 comments

And this introduces another bug: it'll run the loop body even if syscall fails the first time it's run.
I've been going with this style for things like reading files (with retries) or any sort of loop that feels awkward.

  while (1) {
    int ret = ...;
    if (ret == ...) break;
    if (ret == some_other_condition) break;
    // additional termination conditions....
    // do exactly one thing
  }