|
|
@@ -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}
|
|
|
}
|
|
|
|