This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository e16.

View the commit online.

commit d094c7d925001fff613212763ff58b483b3d3d4d
Author: Kim Woelders <k...@woelders.dk>
AuthorDate: Fri Dec 22 04:28:30 2023 +0100

    events: Drop select() based event loop
    
    poll() is available everywhere, I think.
---
 configure.ac | 18 ----------------
 src/events.c | 70 ------------------------------------------------------------
 2 files changed, 88 deletions(-)

diff --git a/configure.ac b/configure.ac
index 12305962..62b4b255 100644
--- a/configure.ac
+++ b/configure.ac
@@ -62,23 +62,6 @@ if test "x$have_clock_gettime" != xno; then
   fi
 fi
 
-AC_ARG_WITH(evhan,
-  AS_HELP_STRING([--with-evhan],
-                 [select event handling api (poll/select)@<:@default=auto@:>@]),,
-                 AC_CHECK_HEADERS(poll.h, with_evhan=poll, with_evhan=select))
-case "$with_evhan" in
-poll)
-  AC_CHECK_HEADERS(poll.h,, AC_MSG_ERROR([Need poll.h]))
-  AC_DEFINE(USE_EVHAN_POLL, 1, [Use poll as event handler api])
-  ;;
-select)
-  AC_DEFINE(USE_EVHAN_SELECT, 1, [Use select as event handler api])
-  ;;
-*)
-  AC_MSG_ERROR([Invalid option: --with-evhan=$with_evhan])
-  ;;
-esac
-
 AC_ARG_ENABLE(sound,
   AS_HELP_STRING([--enable-sound],
                  [compile with sound support (select default)  (yes/no/pulseaudio/esound/sndio/alsa/player)@<:@default=yes@:>@]),
@@ -565,7 +548,6 @@ echo "  Window mode helper library ... $enable_libhack"
 echo "  Dialogs ...................... $enable_dialogs"
 echo
 echo "Miscellaneous options"
-echo "  Event handler API ............ $with_evhan"
 echo "  Use Modules .................. $enable_modules"
 echo "  Visibility hiding ............ $enable_visibility_hiding (only useful with modules)"
 echo
diff --git a/src/events.c b/src/events.c
index 2186892d..33b9ae18 100644
--- a/src/events.c
+++ b/src/events.c
@@ -23,11 +23,7 @@
  */
 #include "config.h"
 
-#if USE_EVHAN_POLL
 #include <poll.h>
-#elif USE_EVHAN_SELECT
-#include <sys/select.h>
-#endif
 #include <sys/time.h>
 #include <X11/Xlib.h>
 #include <X11/Xutil.h>
@@ -350,17 +346,12 @@ ExtVersion(int ext_ix)
 typedef struct {
 #if 0                           /* Unused */
     const char     *name;
-#endif
-#if USE_EVHAN_SELECT
-    int             fd;
 #endif
     void            (*handler)(void);
 } EventFdDesc;
 
 static int      nfds = 0;
-#if USE_EVHAN_POLL
 static struct pollfd *pfdl = NULL;
-#endif
 static EventFdDesc *pfds = NULL;
 
 int
@@ -371,12 +362,8 @@ EventFdRegister(int fd, EventFdHandler *handler)
     efd = nfds++;
     pfds = EREALLOC(EventFdDesc, pfds, nfds);
 
-#if USE_EVHAN_POLL
     pfdl = EREALLOC(struct pollfd, pfdl, nfds);
     pfdl[efd].fd = fd;
-#elif USE_EVHAN_SELECT
-    pfds[efd].fd = fd;
-#endif
 
     pfds[efd].handler = handler;
 
@@ -386,12 +373,8 @@ EventFdRegister(int fd, EventFdHandler *handler)
 void
 EventFdUnregister(int efd)
 {
-#if USE_EVHAN_POLL
     if (pfdl[efd].fd > 0)
         pfdl[efd].fd = -pfdl[efd].fd;
-#elif USE_EVHAN_SELECT
-    pfds[efd].fd = -1;
-#endif
 }
 
 /*
@@ -1128,11 +1111,6 @@ EventsMain(void)
     static int      evq_size = 0;
     static int      evq_fetch = 0;
     static XEvent  *evq_ptr = NULL;
-#if USE_EVHAN_SELECT
-    fd_set          fdset;
-    int             fdsize, fd;
-    struct timeval  tval;
-#endif
     unsigned int    time1, time2;
     int             dtl, dt;
     int             count, pfetch;
@@ -1192,7 +1170,6 @@ EventsMain(void)
         else if (XPending(disp))
             continue;
 
-#if USE_EVHAN_POLL
         for (i = 0; i < nfds; i++)
             pfdl[i].events = (i == 0 && Mode.events.block) ? 0 : POLLIN;
 
@@ -1217,53 +1194,6 @@ EventsMain(void)
                 pfds[i].handler();
             }
         }
-#elif USE_EVHAN_SELECT
-        FD_ZERO(&fdset);
-        fdsize = -1;
-        for (i = 0; i < nfds; i++)
-        {
-            if (Mode.events.block && i == 0)
-                continue;
-            fd = pfds[i].fd;
-            if (fd < 0)
-                continue;
-            if (fdsize < fd)
-                fdsize = fd;
-            FD_SET(fd, &fdset);
-        }
-        fdsize++;
-
-        if (dt > 0.)
-        {
-            tval.tv_sec = (long)dt / 1000;
-            tval.tv_usec = ((long)dt - tval.tv_sec * 1000) * 1000;
-            count = select(fdsize, &fdset, NULL, NULL, &tval);
-        }
-        else
-        {
-            count = select(fdsize, &fdset, NULL, NULL, NULL);
-        }
-
-        if (EDebug(EDBUG_TYPE_EVENTS))
-            Eprintf("%s: count=%d xfd=%d:%d dtl=%.6lf dt=%.6lf\n", __func__,
-                    count, pfds[0].fd, FD_ISSET(pfds[0].fd, &fdset),
-                    dtl * 1e-3, dt * 1e-3);
-
-        if (count <= 0)
-            continue;           /* Timeout (or error) */
-
-        /* Excluding X fd */
-        for (i = 1; i < nfds; i++)
-        {
-            fd = pfds[i].fd;
-            if ((fd >= 0) && (FD_ISSET(fd, &fdset)))
-            {
-                if (EDebug(EDBUG_TYPE_EVENTS) > 1)
-                    Eprintf("Event fd %d\n", i);
-                pfds[i].handler();
-            }
-        }
-#endif
     }
 }
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to