From 4cb1d6d94ac85c5e79171f8989b545ca098b61d9 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' mainline: > Change-Id: I70dc2c57f12b7ea2fae41120f71aa0d7fe0b2b6f > Fixes: bz#1651246 > Signed-off-by: Milind Changire > Reviewed-on: https://review.gluster.org/c/glusterfs/+/22221 Change-Id: I70dc2c57f12b7ea2fae41120f71aa0d7fe0b2b6f Fixes: bz#1683900 Signed-off-by: Milind Changire (cherry picked from commit 776ba851c6ee6c265253d44cf1d6e4e3d4a21772) --- libglusterfs/src/event-epoll.c | 7 +++---- libglusterfs/src/event-poll.c | 14 +++++++------- libglusterfs/src/event.c | 7 +++---- libglusterfs/src/glusterfs/gf-event.h | 6 +++--- 4 files changed, 16 insertions(+), 18 deletions(-) (limited to 'libglusterfs') 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 -- cgit