1
0
JackDoan 8 сар өмнө
parent
commit
0fb3fb798f
1 өөрчлөгдсөн 6 нэмэгдсэн , 3 устгасан
  1. 6 3
      udp/udp_linux.go

+ 6 - 3
udp/udp_linux.go

@@ -184,11 +184,14 @@ func (u *StdConn) ReadMulti(msgs []rawMessage) (int, error) {
 			0,
 			0,
 		)
-
-		if err != 0 {
-			if err == unix.EAGAIN || err == unix.EINTR {
+		if err == unix.EAGAIN || err == unix.EINTR {
+			if n == 0 {
 				continue
+			} else {
+				//ran out of time, but have some messages to return
+				return int(n), nil
 			}
+		} else if err != 0 {
 			return 0, &net.OpError{Op: "recvmmsg", Err: err}
 		}