From 776ba851c6ee6c265253d44cf1d6e4e3d4a21772 Mon Sep 17 00:00:00 2001 From: Milind Changire Date: Fri, 15 Feb 2019 14:20:07 +0530 Subject: socket: socket event handlers now return void Problem: Returning any value from socket event handlers to the event sub-system doesn't make sense since event sub-system cannot handle socket sub-system errors. Solution: Change return type of all socket event handlers to 'void' Change-Id: I70dc2c57f12b7ea2fae41120f71aa0d7fe0b2b6f Fixes: bz#1651246 Signed-off-by: Milind Changire --- cli/src/cli-rl.c | 4 ++-- libglusterfs/src/event-epoll.c | 7 +++---- libglusterfs/src/event-poll.c | 14 +++++++------- libglusterfs/src/event.c | 7 +++---- libglusterfs/src/glusterfs/gf-event.h | 6 +++--- rpc/rpc-transport/socket/src/socket.c | 14 +++++++------- 6 files changed, 25 insertions(+), 27 deletions(-) diff --git a/cli/src/cli-rl.c b/cli/src/cli-rl.c index 6255929e6d2..b6f87b189aa 100644 --- a/cli/src/cli-rl.c +++ b/cli/src/cli-rl.c @@ -102,7 +102,7 @@ cli_rl_process_line(char *line) state->rl_processing = 0; } -int +void cli_rl_stdin(int fd, int idx, int gen, void *data, int poll_out, int poll_in, int poll_err, char event_thread_died) { @@ -114,7 +114,7 @@ cli_rl_stdin(int fd, int idx, int gen, void *data, int poll_out, int poll_in, event_handled(state->ctx->event_pool, fd, idx, gen); - return 0; + return; } char * diff --git a/libglusterfs/src/event-epoll.c b/libglusterfs/src/event-epoll.c index dbf3faf6e6d..0cec47e6050 100644 --- a/libglusterfs/src/event-epoll.c +++ b/libglusterfs/src/event-epoll.c @@ -645,10 +645,9 @@ pre_unlock: goto out; if (!handled_error_previously) { - ret = handler(fd, idx, gen, data, - (event->events & (EPOLLIN | EPOLLPRI)), - (event->events & (EPOLLOUT)), - (event->events & (EPOLLERR | EPOLLHUP)), 0); + handler(fd, idx, gen, data, (event->events & (EPOLLIN | EPOLLPRI)), + (event->events & (EPOLLOUT)), + (event->events & (EPOLLERR | EPOLLHUP)), 0); } out: event_slot_unref(event_pool, slot, idx); diff --git a/libglusterfs/src/event-poll.c b/libglusterfs/src/event-poll.c index 735ec2e020c..14dc5e3180c 100644 --- a/libglusterfs/src/event-poll.c +++ b/libglusterfs/src/event-poll.c @@ -35,7 +35,7 @@ event_register_poll(struct event_pool *event_pool, int fd, event_handler_t handler, void *data, int poll_in, int poll_out, char notify_poller_death); -static int +static void __flush_fd(int fd, int idx, int gen, void *data, int poll_in, int poll_out, int poll_err, char event_thread_died) { @@ -43,7 +43,7 @@ __flush_fd(int fd, int idx, int gen, void *data, int poll_in, int poll_out, int ret = -1; if (!poll_in) - return ret; + return; do { ret = sys_read(fd, buf, 64); @@ -55,7 +55,7 @@ __flush_fd(int fd, int idx, int gen, void *data, int poll_in, int poll_out, } } while (ret == 64); - return ret; + return; } static int @@ -375,10 +375,10 @@ unlock: pthread_mutex_unlock(&event_pool->mutex); if (handler) - ret = handler(ufds[i].fd, idx, 0, data, - (ufds[i].revents & (POLLIN | POLLPRI)), - (ufds[i].revents & (POLLOUT)), - (ufds[i].revents & (POLLERR | POLLHUP | POLLNVAL)), 0); + handler(ufds[i].fd, idx, 0, data, + (ufds[i].revents & (POLLIN | POLLPRI)), + (ufds[i].revents & (POLLOUT)), + (ufds[i].revents & (POLLERR | POLLHUP | POLLNVAL)), 0); return ret; } diff --git a/libglusterfs/src/event.c b/libglusterfs/src/event.c index d6023133626..527df5106fc 100644 --- a/libglusterfs/src/event.c +++ b/libglusterfs/src/event.c @@ -159,12 +159,12 @@ out: return ret; } -int +void poller_destroy_handler(int fd, int idx, int gen, void *data, int poll_out, int poll_in, int poll_err, char event_thread_exit) { struct event_destroy_data *destroy = NULL; - int readfd = -1, ret = -1; + int readfd = -1; char buf = '\0'; destroy = data; @@ -176,11 +176,10 @@ poller_destroy_handler(int fd, int idx, int gen, void *data, int poll_out, while (sys_read(readfd, &buf, 1) > 0) { } - ret = 0; out: event_handled(destroy->pool, fd, idx, gen); - return ret; + return; } /* This function destroys all the poller threads. diff --git a/libglusterfs/src/glusterfs/gf-event.h b/libglusterfs/src/glusterfs/gf-event.h index 5d92a2dd285..0305194d712 100644 --- a/libglusterfs/src/glusterfs/gf-event.h +++ b/libglusterfs/src/glusterfs/gf-event.h @@ -23,9 +23,9 @@ struct event_data { int gen; } __attribute__((__packed__, __may_alias__)); -typedef int (*event_handler_t)(int fd, int idx, int gen, void *data, - int poll_in, int poll_out, int poll_err, - char event_thread_exit); +typedef void (*event_handler_t)(int fd, int idx, int gen, void *data, + int poll_in, int poll_out, int poll_err, + char event_thread_exit); #define EVENT_EPOLL_TABLES 1024 #define EVENT_EPOLL_SLOTS 1024 diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c index 1762e913d27..fa0e0f20901 100644 --- a/rpc/rpc-transport/socket/src/socket.c +++ b/rpc/rpc-transport/socket/src/socket.c @@ -2847,7 +2847,7 @@ socket_complete_connection(rpc_transport_t *this) } /* reads rpc_requests during pollin */ -static int +static void socket_event_handler(int fd, int idx, int gen, void *data, int poll_in, int poll_out, int poll_err, char event_thread_died) { @@ -2861,7 +2861,7 @@ socket_event_handler(int fd, int idx, int gen, void *data, int poll_in, if (event_thread_died) { /* to avoid duplicate notifications, notify only for listener sockets */ - return 0; + return; } GF_VALIDATE_OR_GOTO("socket", this, out); @@ -2900,7 +2900,7 @@ socket_event_handler(int fd, int idx, int gen, void *data, int poll_in, if (ret > 0) { gf_log(this->name, GF_LOG_TRACE, "(sock:%d) returning to wait on socket", priv->sock); - return 0; + return; } } else { char *sock_type = (priv->is_server ? "Server" : "Client"); @@ -2955,10 +2955,10 @@ socket_event_handler(int fd, int idx, int gen, void *data, int poll_in, } out: - return ret; + return; } -static int +static void socket_server_event_handler(int fd, int idx, int gen, void *data, int poll_in, int poll_out, int poll_err, char event_thread_died) { @@ -2987,7 +2987,7 @@ socket_server_event_handler(int fd, int idx, int gen, void *data, int poll_in, if (event_thread_died) { rpc_transport_notify(this, RPC_TRANSPORT_EVENT_THREAD_DIED, (void *)(unsigned long)gen); - return 0; + return; } /* NOTE: @@ -3202,7 +3202,7 @@ socket_server_event_handler(int fd, int idx, int gen, void *data, int poll_in, } } out: - return ret; + return; } static int -- cgit