https://jira.fd.io/projects/GOVPP/issues/GOVPP-20 80/32880/1
authorKusakabe Si <linux@kskb.eu.org>
Thu, 24 Jun 2021 05:16:00 +0000 (13:16 +0800)
committerKusakabe Si <linux@kskb.eu.org>
Thu, 24 Jun 2021 05:23:02 +0000 (13:23 +0800)
Signed-off-by: Kusakabe Si <linux@kskb.eu.org>
Change-Id: I14ae5071414d945a45d3d104390982085f3109ab

extras/libmemif/adapter.go

index 0cee589..eb7e209 100644 (file)
@@ -1157,6 +1157,11 @@ func pollRxQueue(memif *Memif, queueID uint8) {
        for {
                _, err := syscall.EpollWait(epFd, event[:], -1)
                if err != nil {
+                       errno, _ := err.(syscall.Errno)
+                       //EINTR and EAGAIN should not be considered as a fatal error, try again
+                       if errno == syscall.EINTR || errno == syscall.EAGAIN {
+                               continue
+                       }
                        log.WithField("err", err).Error("epoll_wait() failed")
                        return
                }