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 <mchangir@redhat.com> > Reviewed-on: https://review.gluster.org/c/glusterfs/+/22221 Change-Id: I70dc2c57f12b7ea2fae41120f71aa0d7fe0b2b6f Fixes: bz#1683900 Signed-off-by: Milind Changire <mchangir@redhat.com> (cherry picked from commit 776ba851c6ee6c265253d44cf1d6e4e3d4a21772)
This commit is contained in:
parent
cd6795c5e8
commit
4cb1d6d94a
@ -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 *
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user