51 #include <sys/socket.h>
72 static void pass_trigger_event(
int event,
void *context)
75 static const char *myname =
"pass_trigger_event";
88 msg_warn(
"%s: close pipe: %m", myname);
90 msg_warn(
"%s: close pipe: %m", myname);
99 const char *myname =
"pass_trigger";
105 msg_info(
"%s: service %s", myname, service);
112 msg_warn(
"%s: connect to %s: %m", myname, service);
120 if (pipe(pass_fd) < 0)
125 msg_fatal(
"%s: send file descriptor: %m", myname);
139 if (
write_buf(pass_fd[1], buf, len, timeout) < 0
140 ||
write_buf(pass_fd[1],
"", 1, timeout) < 0)
142 msg_warn(
"%s: write to %s: %m", myname, service);
void event_enable_read(int fd, EVENT_NOTIFY_RDWR_FN callback, void *context)
char * mystrdup(const char *str)
void msg_warn(const char *fmt,...)
NORETURN msg_fatal(const char *fmt,...)
time_t event_request_timer(EVENT_NOTIFY_TIME_FN callback, void *context, int delay)
void event_disable_readwrite(int fd)
int pass_trigger(const char *service, const char *buf, ssize_t len, int timeout)
int event_cancel_timer(EVENT_NOTIFY_TIME_FN callback, void *context)
int close_on_exec(int fd, int on)
ssize_t write_buf(int, const char *, ssize_t, int)
void * mymalloc(ssize_t len)
void msg_info(const char *fmt,...)