浏览代码

client_quic: suppress expected error logs.

Nick Peng 5 月之前
父节点
当前提交
3762387d84
共有 2 个文件被更改,包括 13 次插入1 次删除
  1. 1 1
      etc/smartdns/smartdns.conf
  2. 12 0
      src/dns_client/client_quic.c

+ 1 - 1
etc/smartdns/smartdns.conf

@@ -133,7 +133,7 @@ bind [::]:53
 # force-qtype-SOA 65-68 add type 65-68
 # force-qtype-SOA -,65-68, clear type 65-68
 # force-qtype-SOA - clear all type
-force-qtype-SOA 65
+# force-qtype-SOA 65
 
 # Enable IPV4, IPV6 dual stack IP optimization selection strategy
 # dualstack-ip-selection-threshold [num] (0~1000)

+ 12 - 0
src/dns_client/client_quic.c

@@ -595,6 +595,11 @@ static int _dns_client_quic_pending_data(struct dns_conn_stream *stream, struct
 	stream->query = query;
 	pthread_mutex_unlock(&server_info->lock);
 
+	if (client.epoll_fd <= 0) {
+		errno = ECONNRESET;
+		goto errout;
+	}
+
 	memset(&event, 0, sizeof(event));
 	event.events = EPOLLIN | EPOLLOUT;
 	event.data.ptr = server_info;
@@ -640,6 +645,13 @@ int _dns_client_send_quic_data(struct dns_query_struct *query, struct dns_server
 		struct epoll_event event;
 		_dns_client_shutdown_socket(server_info);
 		ret = _dns_client_quic_pending_data(stream, server_info, query, packet, len);
+
+		if (client.epoll_fd <= 0 || ret != 0) {
+			errno = ECONNRESET;
+			goto out;
+		}
+
+		/* clear epollout event */
 		memset(&event, 0, sizeof(event));
 		event.events = EPOLLIN;
 		event.data.ptr = server_info;