if (IN_SET(errno, ECONNREFUSED, EPIPE))
*stopped = 1;
- return systrace(-errno, "Command \"%s\" failed to connect command socket", lxc_cmd_str(cmd->req.cmd));
+ return systrace("Command \"%s\" failed to connect command socket", lxc_cmd_str(cmd->req.cmd));
}
ret = lxc_cmd_rsp_recv(client_fd, cmd);
__internal_ret__; \
})
-#define systrace(__ret__, format, ...) \
- ({ \
- typeof(__ret__) __internal_ret__ = (__ret__); \
- SYSTRACE(format, ##__VA_ARGS__); \
- __internal_ret__; \
- })
-
#define sysinfo(__ret__, format, ...) \
({ \
typeof(__ret__) __internal_ret__ = (__ret__); \
__internal_ret__; \
})
+#define systrace(format, ...) \
+ ({ \
+ SYSTRACE(format, ##__VA_ARGS__); \
+ (-errno); \
+ })
+
+#define systrace_set(__ret__, format, ...) \
+ ({ \
+ typeof(__ret__) __internal_ret__ = (__ret__); \
+ errno = labs(__ret__); \
+ SYSTRACE(format, ##__VA_ARGS__); \
+ __internal_ret__; \
+ })
+
+#define systrace_ret(__ret__, format, ...) \
+ ({ \
+ typeof(__ret__) __internal_ret__ = (__ret__); \
+ SYSTRACE(format, ##__VA_ARGS__); \
+ __internal_ret__; \
+ })
+
extern int lxc_log_fd;
__hidden extern int lxc_log_syslog(int facility);