- strftime(buf, sizeof(buf), opt_fmt, localtime(&t));
- puts(buf);
- fflush(stdout);
+ strftime(buf, MAX_LEN, opt_fmt, localtime(&t));
+ r = strlen(buf);
+ buf[r] = END_OF_MESSAGE;
+ for (i = 0; (n = write(fifo_fd, buf + i++, 1)) && r; r--)
+ ;
+ if (n < 0)
+ fatal("Failed to write to %s. Err num: %d, Err msg: %s\n",
+ fifo_name,
+ errno,
+ strerror(errno));
+ if (close(fifo_fd) < 0)
+ fatal("Failed to close %s. Err num: %d, Err msg: %s\n",
+ fifo_name,
+ errno,
+ strerror(errno));
+ fifo_fd = -1;
+ debug("closed. fd: %d\n", fifo_fd);