This would achieve the same but is far more readable:
while(status != SUCCESS) {
status = syscall(...);
// do something with status
} while(status != SUCCESS) {
status = syscall(...);
// do something with status
} while (1) {
int ret = ...;
if (ret == ...) break;
if (ret == some_other_condition) break;
// additional termination conditions....
// do exactly one thing
}