From 7f0e3d09ba2f351678ba484b307ab38e945bd210 Mon Sep 17 00:00:00 2001 From: Michal Bloch Date: Wed, 8 Jan 2020 16:08:42 +0100 Subject: [PATCH] dlog_logger: rename reader fd entity to _sink This is in preparation for adding a second fd entity to that structure, which will represent the log source and will need to be distinguished from the current one that represents the log sink. Change-Id: Ia56c352c564fd0bae4a40e4c923e4ab6013a2579 Signed-off-by: Michal Bloch --- src/logger/logger.c | 34 +++++++++++++++++----------------- src/logger/logger_internal.h | 2 +- src/tests/logger.c | 4 ++-- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/logger/logger.c b/src/logger/logger.c index 6d30ba8..3f7c456 100644 --- a/src/logger/logger.c +++ b/src/logger/logger.c @@ -39,7 +39,7 @@ static int service_writer_handle_req_ctrl(struct logger *server, struct writer * static int service_writer_handle_req_pipe(struct logger *server, struct writer *wr, struct dlog_control_msg *msg); void dispatch_event_writer(struct logger *server, struct epoll_event *event); void dispatch_event_sock(struct logger *server, struct epoll_event *event); -static void dispatch_event_reader(struct logger *server, struct epoll_event *event); +static void dispatch_event_reader_sink(struct logger *server, struct epoll_event *event); void reader_free(struct reader* reader); static void logger_free(struct logger* l); static int parse_args(int argc, char **argv, struct buf_params *b); @@ -532,8 +532,8 @@ static bool cond_reader_free(void *ptr, void *user_data) struct reader *reader = (struct reader *)ptr; struct logger *logger = (struct logger *)user_data; assert(reader); - if (reader->fd_entity.fd >= 0) - remove_fd_entity(logger, &reader->fd_entity); + if (reader->fd_entity_sink.fd >= 0) + remove_fd_entity(logger, &reader->fd_entity_sink); reader_free(reader); return true; } @@ -659,7 +659,7 @@ static int reader_print_out_single_log(struct reader *reader, const dlogutil_ent if (!strlen(tag)) return 0; - int r = write(reader->file.path ? reader->file.fd : reader->fd_entity.fd, dlogutil_entry, dlogutil_entry->len); + int r = write(reader->file.path ? reader->file.fd : reader->fd_entity_sink.fd, dlogutil_entry, dlogutil_entry->len); if (r < 0) { if (errno != EAGAIN) return 1; @@ -697,7 +697,7 @@ int print_out_logs(struct reader *reader) int r, ret = 0; if (reader->partial_log_size) { - r = write(reader->fd_entity.fd, reader->partial_log, reader->partial_log_size); + r = write(reader->fd_entity_sink.fd, reader->partial_log, reader->partial_log_size); if (r <= 0) return r != 0 && errno != EAGAIN; @@ -769,8 +769,8 @@ void reader_free(struct reader* reader) if (!reader) return; - if (reader->fd_entity.fd >= 0) - close(reader->fd_entity.fd); + if (reader->fd_entity_sink.fd >= 0) + close(reader->fd_entity_sink.fd); if (reader->read_fd >= 0) close(reader->read_fd); logfile_free(&reader->file); @@ -871,7 +871,7 @@ static int add_reader(struct logger *server, struct reader *reader) assert(reader); assert(server); - if (reader->fd_entity.fd >= 0) { + if (reader->fd_entity_sink.fd >= 0) { /* Readers who write to file have no FD entity since their FD * is not eligible to be added to epoll. However, epoll primarily * serves to handle pipes getting clogged mid-write (which cannot @@ -882,7 +882,7 @@ static int add_reader(struct logger *server, struct reader *reader) * buffers - is not a problem here because the deamon is not * supposed to ever stop writing to files. */ - int r = add_fd_entity(server, &reader->fd_entity); + int r = add_fd_entity(server, &reader->fd_entity_sink); if (r < 0) return r; } @@ -1036,7 +1036,7 @@ static int parse_command_line(const char *cmdl, struct writer *wr, struct logger tok = strtok_r(NULL, DELIMITER, &tok_sv); } - init_fd_entity(&reader->fd_entity, dispatch_event_reader, reader); + init_fd_entity(&reader->fd_entity_sink, dispatch_event_reader_sink, reader); logfile_init(&reader->file); @@ -1158,7 +1158,7 @@ static int parse_command_line(const char *cmdl, struct writer *wr, struct logger if (retval < 0) goto cleanup; - set_write_fd_entity(&reader->fd_entity, write_fd); + set_write_fd_entity(&reader->fd_entity_sink, write_fd); retval = send_pipe(wr->fd_entity.fd, read_fd); if (read_fd > 0) close(read_fd); @@ -1529,8 +1529,8 @@ static bool cond_service_reader(void *ptr, void *user_data) int r = reader->service_reader(reader); if (r > 0) { - if (reader->fd_entity.fd >= 0) - remove_fd_entity(logger, &reader->fd_entity); + if (reader->fd_entity_sink.fd >= 0) + remove_fd_entity(logger, &reader->fd_entity_sink); reader_free(reader); return true; } @@ -1550,7 +1550,7 @@ static bool cond_service_reader(void *ptr, void *user_data) * logs to trigger the flush and so any FDs representing connections * to such buffer would leak until a log finally arrived (which could * be never). This is why waiting is also done on EPOLLHUP. */ - if (modify_fd_entity(logger, &reader->fd_entity, (r == 0) ? EPOLLOUT : EPOLLHUP) < 0) { + if (modify_fd_entity(logger, &reader->fd_entity_sink, (r == 0) ? EPOLLOUT : EPOLLHUP) < 0) { /* ignore, can't really happen and it's not * like we can do anything about it either */ } @@ -1564,7 +1564,7 @@ static bool cond_service_reader(void *ptr, void *user_data) * @param[in] server The logger server * @param[in] event The received event */ -static void dispatch_event_reader(struct logger *server, struct epoll_event *event) +static void dispatch_event_reader_sink(struct logger *server, struct epoll_event *event) { assert(event); struct reader *reader = (struct reader *)event->data.ptr; @@ -1573,7 +1573,7 @@ static void dispatch_event_reader(struct logger *server, struct epoll_event *eve if (event->events & (EPOLLHUP | EPOLLERR)) { list_remove(&reader->buf_ptr->readers, reader); - remove_fd_entity(server, &reader->fd_entity); + remove_fd_entity(server, &reader->fd_entity_sink); reader_free(reader); return; } @@ -1581,7 +1581,7 @@ static void dispatch_event_reader(struct logger *server, struct epoll_event *eve assert(reader->service_reader); int r = reader->service_reader(reader); if (r != 0) - remove_fd_entity(server, &reader->fd_entity); + remove_fd_entity(server, &reader->fd_entity_sink); } /** diff --git a/src/logger/logger_internal.h b/src/logger/logger_internal.h index 28a63f4..947f82e 100644 --- a/src/logger/logger_internal.h +++ b/src/logger/logger_internal.h @@ -134,7 +134,7 @@ struct writer { typedef int (*service_reader_t)(struct reader *reader); struct reader { - struct fd_entity fd_entity; + struct fd_entity fd_entity_sink; struct log_file file; dlogutil_filter_options_s* filter; struct log_buffer* buf_ptr; diff --git a/src/tests/logger.c b/src/tests/logger.c index e0d24a0..c16d417 100644 --- a/src/tests/logger.c +++ b/src/tests/logger.c @@ -838,8 +838,8 @@ int main() reader2 = calloc(1, sizeof(struct reader)); assert(reader2); reader2->file.fd = 3; - reader2->fd_entity = ent; - assert(reader2->fd_entity.fd == 2); + reader2->fd_entity_sink = ent; + assert(reader2->fd_entity_sink.fd == 2); reader2->read_fd = 1; reader2->log_storage_reader = (log_storage_reader *)13; closed[0] = closed[1] = false; -- 2.7.4