Browse Source

qnetd: Remove write callback on listening sockets

IPC and TLS sockets are read only, so write callbacks should never
happen (specifically tested in pr-poll-loop test) so remove them.

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Jan Friesse 5 năm trước cách đây
mục cha
commit
8144b162f0
2 tập tin đã thay đổi với 2 bổ sung23 xóa
  1. 1 13
      qdevices/corosync-qnetd.c
  2. 1 10
      qdevices/qnetd-ipc.c

+ 1 - 13
qdevices/corosync-qnetd.c

@@ -99,18 +99,6 @@ server_socket_poll_loop_read_cb(PRFileDesc *prfd, void *user_data1, void *user_d
 	return (0);
 }
 
-static int
-server_socket_poll_loop_write_cb(PRFileDesc *prfd, void *user_data1, void *user_data2)
-{
-
-	/*
-	 * Poll write on listen socket -> fatal error
-	 */
-	log(LOG_CRIT, "POLL_WRITE on listening socket");
-
-	return (-1);
-}
-
 static int
 server_socket_poll_loop_err_cb(PRFileDesc *prfd, short revents, void *user_data1, void *user_data2)
 {
@@ -437,7 +425,7 @@ main(int argc, char * const argv[])
 	if (pr_poll_loop_add_prfd(&instance.main_poll_loop, instance.server.socket, POLLIN,
 	    NULL,
 	    server_socket_poll_loop_read_cb,
-	    server_socket_poll_loop_write_cb,
+	    NULL,
 	    server_socket_poll_loop_err_cb,
 	    &instance, NULL) != 0) {
 		log(LOG_ERR, "Can't add server socket to main poll loop");

+ 1 - 10
qdevices/qnetd-ipc.c

@@ -77,15 +77,6 @@ ipc_socket_poll_loop_read_cb(int fd, void *user_data1, void *user_data2)
 	return (0);
 }
 
-static int
-ipc_socket_poll_loop_write_cb(int fd, void *user_data1, void *user_data2)
-{
-
-	log(LOG_CRIT, "POLL_WRITE on listening IPC socket");
-
-	return (-1);
-}
-
 static int
 ipc_socket_poll_loop_err_cb(int fd, short revents, void *user_data1, void *user_data2)
 {
@@ -201,7 +192,7 @@ qnetd_ipc_init(struct qnetd_instance *instance)
 	if (pr_poll_loop_add_fd(&instance->main_poll_loop, instance->local_ipc.socket, POLLIN,
 	    ipc_socket_poll_loop_set_events_cb,
 	    ipc_socket_poll_loop_read_cb,
-	    ipc_socket_poll_loop_write_cb,
+	    NULL,
 	    ipc_socket_poll_loop_err_cb, instance, NULL) == -1) {
 		log_err(LOG_CRIT, "Can't add IPC socket to main poll loop");