#define TEMP_FAILURE_RETRY(expression) \
(__extension__({ \
long int __result; \
- do \
- __result = (long int)(expression); \
+ do __result = (long int)(expression); \
while (__result == -1L && errno == EINTR); \
__result; \
}))
const char* direction;
bool closed = false;
std::tuple<int, int, const char*> direction_map[] = {
- std::make_tuple(i, i + 1, "in"),
- std::make_tuple(i + 2, i, "out"),
+ std::make_tuple(i, i + 1, "in"),
+ std::make_tuple(i + 2, i, "out"),
};
for (const auto& entry : direction_map) {
std::tie(in, out, direction) = entry;
#if defined(__NR_execveat)
util::syscall(__NR_execveat, nsjconf->exec_fd, (uintptr_t) "",
(uintptr_t)argv.data(), (uintptr_t)environ, AT_EMPTY_PATH);
-#else /* defined(__NR_execveat) */
+#else /* defined(__NR_execveat) */
LOG_E("Your system doesn't support execveat() syscall");
return;
#endif /* defined(__NR_execveat) */
PLOG_W("setresgid32(%d)", (int)gid);
return false;
}
-#else /* defined(__NR_setresgid32) */
+#else /* defined(__NR_setresgid32) */
if (util::syscall(__NR_setresgid, (uintptr_t)gid, (uintptr_t)gid, (uintptr_t)gid) == -1) {
PLOG_W("setresgid(%d)", gid);
return false;
PLOG_W("setresuid32(%d)", (int)uid);
return false;
}
-#else /* defined(__NR_setresuid32) */
+#else /* defined(__NR_setresuid32) */
if (util::syscall(__NR_setresuid, (uintptr_t)uid, (uintptr_t)uid, (uintptr_t)uid) == -1) {
PLOG_W("setresuid(%d)", uid);
return false;