We don't want to link log.{c,h} against utils.{c,h} for the sake of our static
builds init.lxc.static. This means lxc_write_nointr() will not be available. So
handle it EINTR.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
{
char buffer[LXC_LOG_BUFFER_SIZE];
char date_time[LXC_LOG_TIME_SIZE];
- int n, ret;
+ int n;
+ ssize_t ret;
int fd_to_use = -1;
#ifndef NO_LXC_CONF
buffer[n] = '\n';
- return write(fd_to_use, buffer, n + 1);
+again:
+ ret = write(fd_to_use, buffer, n + 1);
+ if (ret < 0 && errno == EINTR)
+ goto again;
+
+ return ret;
}
static struct lxc_log_appender log_appender_stderr = {