/* Send the message also to the foreground process if it is
still running, or stderr if it is still open */
if (parent_fd > 0) {
- if (write(parent_fd, buf, strlen(buf) + 1) < 0)
+ if (!LOG_NotifyParent(buf))
; /* Not much we can do here */
} else if (system_log && parent_fd == 0) {
system_log = 0;
/* ================================================== */
+int
+LOG_NotifyParent(const char *message)
+{
+ if (parent_fd <= 0)
+ return 1;
+
+ return write(parent_fd, message, strlen(message) + 1) > 0;
+}
+
+/* ================================================== */
+
void
LOG_CloseParentFd()
{
/* Stop using stderr and send fatal message to the foreground process */
extern void LOG_SetParentFd(int fd);
-/* Close the pipe to the foreground process so it can exit */
+/* Send a message to the foreground process */
+extern int LOG_NotifyParent(const char *message);
+
+/* Close the pipe to the foreground process */
extern void LOG_CloseParentFd(void);
/* File logging functions */