+ IOVEC_SET_STRING(iovec[1], header_time);
+ IOVEC_SET_STRING(iovec[2], s->process);
+ IOVEC_SET_STRING(iovec[3], header_pid);
+ IOVEC_SET_STRING(iovec[4], p);
+
+ zero(msghdr);
+ msghdr.msg_iov = iovec;
+ msghdr.msg_iovlen = ELEMENTSOF(iovec);
+
+ if (sendmsg(s->server->syslog_fd, &msghdr, MSG_NOSIGNAL) < 0)
+ return -errno;
+
+ } else if (s->target == LOG_TARGET_KMSG) {
+ IOVEC_SET_STRING(iovec[1], s->process);
+ IOVEC_SET_STRING(iovec[2], header_pid);
+ IOVEC_SET_STRING(iovec[3], p);
+ IOVEC_SET_STRING(iovec[4], (char*) "\n");
+
+ if (writev(s->server->kmsg_fd, iovec, ELEMENTSOF(iovec)) < 0)
+ return -errno;
+ } else
+ assert_not_reached("Unknown log target");