#include "git-compat-util.h" #undef open int git_open_with_retry(const char *path, int flags, ...) { mode_t mode = 0; int ret; /* * Also O_TMPFILE would take a mode, but it isn't defined everywhere. * And anyway, we don't use it in our code base. */ if (flags & O_CREAT) { va_list ap; va_start(ap, flags); mode = va_arg(ap, int); va_end(ap); } do { ret = open(path, flags, mode); } while (ret < 0 && errno == EINTR); return ret; }