Fix bug with glibc epoll fd 50/10450/2
authorKeith Burns (alagalah) <alagalah@gmail.com>
Wed, 7 Feb 2018 21:20:28 +0000 (13:20 -0800)
committerFlorin Coras <florin.coras@gmail.com>
Wed, 7 Feb 2018 22:52:52 +0000 (22:52 +0000)
Change-Id: I0b8ebe2c47fdd1e23a91723a7b454a0c1c8b996e
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
src/vcl/vcom.c

index 592be1b..327ab88 100644 (file)
@@ -3194,7 +3194,7 @@ vcom_epoll_pwait (int epfd, struct epoll_event *events,
                          getpid (), epfd, epfd, func_str,
                          libc_epfd, libc_epfd, events, maxevents, sigmask);
 
-         rv = libc_epoll_pwait (epfd, events, maxevents, 1, sigmask);
+         rv = libc_epoll_pwait (libc_epfd, events, maxevents, 1, sigmask);
          if (rv != 0)
            goto done;
        }
@@ -3207,6 +3207,8 @@ vcom_epoll_pwait (int epfd, struct epoll_event *events,
 done:
   if (VCOM_DEBUG > 3)
     {
+      if (libc_epfd > 0)
+       epfd = libc_epfd;
       if (rv < 0)
        {
          int errno_val = errno;