]> www.infradead.org Git - users/dwmw2/openconnect.git/commitdiff
epoll debug epoll-debug
authorDavid Woodhouse <dwmw2@infradead.org>
Sat, 12 Mar 2022 09:16:40 +0000 (09:16 +0000)
committerDavid Woodhouse <dwmw2@infradead.org>
Sat, 12 Mar 2022 09:16:40 +0000 (09:16 +0000)
mainloop.c
openconnect-internal.h

index a459dfb95a17138dc29deef42d0aa1034a514d8e..70bd33511a24a97fc9a997ae28159e6b3e284026 100644 (file)
@@ -384,6 +384,9 @@ int openconnect_mainloop(struct openconnect_info *vpninfo,
                                                vhost_r = 1;
 #endif
                                }
+                               if (evs[nfds].events & EPOLLERR) {
+                                       vpn_progress(vpninfo, PRG_INFO, "EPOLLERR on fd %d\n", evs[nfds].data.fd);
+                               }
                        }
                        continue;
                }
index 644f51bf0e88eef11dba6f60d41aa3298e32578a..f42f35fd7fc0279acc4a7f8c5d84c2a2ff041aa3 100644 (file)
@@ -940,6 +940,7 @@ static inline void __sync_epoll_fd(struct openconnect_info *vpninfo, int fd, uin
 static inline void __remove_epoll_fd(struct openconnect_info *vpninfo, int fd)
 {
        struct epoll_event ev = { 0 };
+       vpn_progress(vpninfo, PRG_INFO, "Remove epoll fd %d\n", fd);
        if (vpninfo->epoll_fd >= 0 &&
            epoll_ctl(vpninfo->epoll_fd, EPOLL_CTL_DEL, fd, &ev) < 0 &&
            errno != ENOENT)
@@ -991,7 +992,7 @@ static inline void __unmonitor_fd_event(struct openconnect_info *vpninfo,
 #define unmonitor_except_fd(_v, _n) __unmonitor_fd_event(_v, _v->_n##_fd, &_v->_select_efds)
 
 static inline void __monitor_fd_new(struct openconnect_info *vpninfo,
-                                   int fd)
+                                   int fd, const char *name)
 {
        if (vpninfo->_select_nfds <= fd)
                vpninfo->_select_nfds = fd + 1;
@@ -999,6 +1000,7 @@ static inline void __monitor_fd_new(struct openconnect_info *vpninfo,
        if (vpninfo->epoll_fd >= 0) {
                struct epoll_event ev = { 0 };
                ev.data.fd = fd;
+               vpn_progress(vpninfo, PRG_INFO, "Monitor %s fd %d\n", name, fd);
                if (epoll_ctl(vpninfo->epoll_fd, EPOLL_CTL_ADD, fd, &ev)) {
                        vpn_perror(vpninfo, "EPOLL_CTL_ADD");
                        close(vpninfo->epoll_fd);
@@ -1008,7 +1010,7 @@ static inline void __monitor_fd_new(struct openconnect_info *vpninfo,
 #endif
 }
 
-#define monitor_fd_new(_v, _n) __monitor_fd_new(_v, _v->_n##_fd)
+#define monitor_fd_new(_v, _n) __monitor_fd_new(_v, _v->_n##_fd, #_n)
 #define read_fd_monitored(_v, _n) FD_ISSET(_v->_n##_fd, &_v->_select_rfds)
 #endif /* !WIN32 */